Web自动化测试实战1—Selenium Webdriver常用API

  Selenium Webdriver是Selenium里面最重要的东西,提供了web自动化的各种语言调用接口库,主要是是通过各种浏览器的驱动(web driver)来驱动浏览器的,下面是其原理的示意图:
在这里插入图片描述
  由上图可知,Selenium Webdriver库中所有API的调用,都需要先获取浏览器实例driver,例如Chrome,Firefox,IE浏览器实例的获取方法:

  • driver=webdriver.Chrome() #初始化一个谷歌浏览器实例
  • driver=webdriver.firefox() #初始化一个火狐浏览器实例
  • driver=webdriver.ie() #初始化一个IE浏览器实例

浏览器完整的打开—关闭调用流程:

from selenium import webdriver  #导入webdriver包

driver=webdriver.Chrome()   #初始化一个谷歌浏览器实例
driver.maximize_window()    #最大化浏览器
driver.implicitly_wait(8)   #设置隐式时间等待

driver.get("https://www.baidu.com") #通过get方法打开一个url站点

driver.quit()  #关闭并退出浏览器
1.浏览器属性(driver attributes)

  浏览器属性的调用方式是:driver.属性值,属性值包括一些常用的变量和函数。

常用变量有

  1. driver.current_url:用于获得当前页面的URL
  2. driver.title:用于获取当前页面的标题
  3. driver.page_source:用于获取页面html源代码
  4. driver.current_window_handle:用于获取当前窗口句柄
  5. driver.window_handles:用于获取所有窗口句柄

常用函数有

  1. driver.find_element*():定位元素
  2. driver.get(url):浏览器加载url
  3. driver.forward():浏览器向前(点击向前按钮)
  4. driver.back():浏览器向后(点击向后按钮)
  5. driver.refresh():浏览器刷新(点击刷新按钮)
  6. driver.close():关闭当前窗口,或最后打开的窗口
  7. driver.quit():关闭所有关联窗口,并且安全关闭session
  8. driver.maximize_window():最大化浏览器窗口
  9. driver.get_window_size():获取当前窗口的长和宽
  10. driver.get_screenshot_as_file(filename):截取当前窗口
  11. driver.implicitly_wait(秒):隐式等待,通过一定的时长等待页面上某一元素加载完成
  12. driver.switch_to.window(窗口句柄):切换到新窗口
  13. driver.switch_to.alert():警告框处理。处理JavaScript所生成的alert,confirm,prompt
  14. driver.execute_script(js):调用js
  15. driver.get_cookies():获取当前会话所有cookie信息
2.页面元素属性(WebElement attributes)

页面元素属性的调用方式是:
  find_element*().属性值
或者分成两步:
  element=driver.find_element*
  element.属性值

具体操作方式如代码所示:

driver.get("https://www.baidu.com")

#方法一
driver.find_element_by_id("kw").send_keys("Selenium")
#方法二:
element=driver.find_element_by_id("kw")
element.send_keys("Selenium")

属性值也是包括一些常用的变量和函数。

常用变量有

  1. element.size:获取元素的尺寸
  2. element.text:获取元素的文本
  3. element.tag_name:获取标签名称

常用函数有

  1. element.clear():清除文本
  2. element.send_keys(value):输入文字或键盘按键(需导入Keys模块)
  3. element.click():单击元素
  4. element.get_attribute(name):获得属性值
  5. element.is_displayed():返回元素结果是否可见(True 或 False)
  6. element.is_selected():返回元素结果是否被选中(True 或 False)
  7. element.find_element*():定位元素,用于二次定位
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值