WebDriver

Selenium与WebDriver

Selenium是一个浏览器自动化操作框架。
Selenium主要有三种工具。它们分别被称为“IDE”、“WebDriver”和“Grid”。
第一个工具是SeleniumIDE,是Firefox的扩展插件,支持用户录制和回访测试。录制/回访模式存在局限性,对许多用户来说并不适合。
第二个工具是Selenium WebDriver提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序。
第三个工具是SeleniumGrid帮助工程师使用Selenium API控制分布在一系列机器上的浏览器实例,支持并发运行更多测试。
官网上上这么介绍WebDriver:WebDriver is a clean, fast framework for automated testing of webapps. 其实它完全可以用作其它用途,并不局限于进行自动化测试。
WebDriver针对各个浏览器而开发,取代了嵌入到被测Web应用中的JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver还利用操作系统级的调用模拟用户输入。WebDriver支持Firefox(FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver)和Chrome (ChromeDriver)。 它还支持Android (AndroidDriver)和iPhone (IPhoneDriver)的移动应用测试。它还包括一个基于HtmlUnit的无界面实现,称为HtmlUnitDriver。WebDriver API可以通过Python、Ruby、Java和C#访问,支持开发人员使用他们偏爱的编程语言来创建测试。
WebDriver下载地址:
https://npm.taobao.org/mirrors/chromedriver/

常见问题

  1. webdriver爬虫#document问题

如图,我们想获取#document下面body的内容。

如果使用

driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_xpath

此时会发现#document下的body中的内容为空。

document is a virtual element, which doesn’t really mean anything.

在get(url)之后使用

driver.switch_to_default_content() 
frame = driver.find_elements_by_tag_name('iframe')[0]  
driver.switch_to_frame(frame) 

跳转到iframe中,然后再driver.find_element_by_xpath即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eon2718281828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值