selenium学习(定位元素,操作元素)

什么是selenium

Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,支持多平台、多浏览器、多语言去实现自动化测试,支持分布式测试用例的执行。
Selenium2将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样。

Selenium已经从之前的1.0(RC)进化到了现在的Selenium2(Selenium1+WebDriver)。
Selenium 2.0(又名Selenium WebDriver)的主要新功能是集成了 WebDriver。WebDriver 曾经是 Selenium1(Selenium RC)的竞争对手。Selenium RC 在浏览器中运行 JavaScript 应用,而 WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。之所以合并,原因如下:

  • WebDriver 解决了 Selenium 存在的缺点(比如,绕过 JS 沙箱);

  • Selenium 解决了 WebDriver 存在的问题(例如支持广泛的浏览器);

  • Selenium 的主要贡献者们都觉得合并项目是为用户提供最优秀框架的最佳途径。

Selenium 2.0 还包括 Selenium Server,通过 Selenium Grid 支持分布式测试。新的 Selenium Grid 支持使用原来的 Selenium RC API 和 WebDriver API 测试。Selenium IDE也将支持 WebDriver API,包括将录制生成的测试用例导出为 WebDriver 所支持的各种编程语言(Ruby、Python、C# 和 Java)。

webdriver的工作原理:

webdriver Api(编写的测试脚本),就相当于乘客一样,对出租车司机提出要求(去哪,几点到)
webdriver ,相当于出租车的司机,根据客户的需求来操作出租车

Browser(浏览器),相当于出租车,被司机操作执行。

selenium的简单用法

导入需要的包

from selenium import webdriver
import time ,os

获得浏览器的驱动

brower = webdriver.Firefox() #获得火狐浏览器的驱动
brower = webdriver.Chrome() #获得谷歌浏览器的驱动(首字母要大写)

暂停或休眠

time.sleep(2) # 休眠三秒

browser.implicitl_wait(3) # 只能等待三秒,等待的时间在0 - 3秒之间

定位找到元素(一定要能过精确的定位到具体的元素,全局唯一

# 通过ID获得
        driver.find_element_by_id()

        # 通过name获得
        driver.find_element_by_name()
        
        # 通过class 名获得
        driver.find_element_by_class_name()
        
        # 通过css选择器获得
        driver.find_element_by_css_selector()
        
        # 通过路径获得
        driver.find_element_by_xpath()
        
        # 通过连接的内容获得
        driver.find_element_by_link_text()

        
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值