selenium中webDriver模块的常用方法
一、页面元素操作:
1、clear():清除文本
2、send_keys(value):模拟按键输入
3、click():单击元素
4、current_url:返回按当前(driver浏览器对象所能控制的url地址)
5、title:返回当前浏览器对象所能控制的页面。页面的url地址
6、text:获取页面(提示框、警告框)显示的文本
7、get_attribute(name):获得属性值,文本框中的值使用value属性名
8、is_displayed():该元素是否可见
9、is_selected():该元素是否被选中
10、is_enable():该元素是否可点击
备注:
用法举例:
from selenium import webdriver
driver = webDriver.Chrome()
driver.find_element_by_id('search').click()
以下driver为同一对象
二、浏览器操作:
1、窗口大小:
(1) set_window_size(500,500):可通过自定义方法的参数设置窗口大小
(2) maxsize_window():窗口最大化
(3) minisize_window():窗口最小化
用法举例:
driver.maxsize_window()
2、 前进后退:
(1)back():后退
(2)forward():前进
备注:一般用于窗口不变,只更换网页内容的情况下使用,
用法举例: driver = webDriver.Chrome()
driver.back()
3、 截屏操作:
建议截图保存为png格式
(1) save_screenshot(“d://test.png”)
(2) get_screenshot_as_file(“{}{}”.format(“d://test”,”png”)) #后面的可以变成两个实参传进来
(3) get_screenshot_as_file(r“d://test.png”)
用法举例:
driver.save_screenshot(“d://test.png”)
driver.get_screenshot_as_file("{}{}".format("d:/screenshot/"+i["result"],".png")) #参数传进来 {}{},为占位符,对应实参填充位置
4、关闭窗口:
(1) quit():退出浏览器,即关闭所有打开的窗口
(2) close():关闭窗口,只能关闭正在使用的句柄对应的窗口
用法举例:driver.quit()
5、多窗口操作:
(1) current_window_handle:获取当前窗口的句柄
(2) window_handlers:获取打开的所有窗口的句柄[后可通过下标转换到具体 窗口,
例如:switch_to.window(handlers[0]) 括号内的参数为返回的句柄集合对象]
三、鼠标操作:
1、perform():执行所有ActionChains中存储的行为,最后都要加上这个
2、context_click():鼠标右键
3、double_click():双击
4、drag_and_drop():双击
5、move_to_element():鼠标悬停,把鼠标悬停到指定元素上
备注:使用之前要导入下面的包:
from selenium.webdriver.common.action_chains import ActionChains
用法举例: duixiang = driver.find_element_by_id('search')
ActionChains(driver).move_to_element(duixiang).perform()
四、键盘操作:
1、send_keys(Keys.BACK_SPACE) :删除键
2、send_keys(Keys.SPACE):空格键
3、send_keys(Keys.TAB):制表键
4、send_keys(Keys.ENTER):回车键
5、send_keys(Keys.CONTROL,'a'): 全选
6、send_keys(Keys.CONTROL,'c'):复制
7、send_keys(Keys.CONTROL,'x'):剪切
8、send_keys(Keys.CONTROL,'v'):粘贴
备注:使用之前要导入下面的包
from selenium.webdriver.common.keys import Keys
用法举例: driver.find_element_by_id('search').send_keys(“abc”)
driver.find_element_by_id('search').send_keys(Keys.CONTROL,'a')
五、警告框:
首先切换到alert : driver.switch_to.alert
1、获取alert对象的文本内容
2、accept():接受现有的警告框,就是点它的确定按钮
3、dismiss():放弃现有警告框,取消按钮
4、Send_keys(keysToSend=):发送文本至警告框
用法举例:
me= driver.switch_to.alert
me.accept()
六、多表单操作:
1、switch_to.frame(driver.find_element_by_xpath('xpath')):通过定位方式切入iframe表单
2、switch_to.frame(“id”):默认可以通过id
3、switch_to.frame(“name”):默认也可以通过name
4、switch_to.parent_frame():跳出当前一级表单
5、switch_to.default_content():跳回最外层页面
备注:主要用于页面中内嵌ifram层
七、元素等待
持续更新....