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层

七、元素等待

持续更新....

原文地址:https://www.cnblogs.com/yanghr/p/13899835.html