WebDriver 编辑
WebDriver 是远程控制接口,可以对用户代理进行控制. 它提供了一个平台和语言中性线协议,作为进程外程序远程指导web浏览器行为的方法
能够编写可在不同平台上的许多浏览器中交替运行的指令集,对于向用户提供一致的体验至关重要。随着web平台上新一轮的开发浪潮、设备的多样化以及对技术之间真正的互操作性的需求,WebDriver为跨浏览器测试提供了工具。
提供了一组接口,用于发现和操作web文档中的DOM元素,并控制用户代理的行为。它的主要目的是允许web作者编写从单独的控制过程中自动执行用户代理的测试,但也可以这样使用,允许浏览器内脚本控制一个(可能是单独的)浏览器。
概念
要使用WebDriver,您需要 ... 提供如何使用它的高级描述,而不是低级的细节,然后链接到提供安装细节的其他页面。
WebDriver主要涉及四个方面:
- a
- b
- c
- d
这些东西一起工作就像 ... 解释命令、动作等的工作流程。
使用
那么WebDriver允许你做什么?它看起来是什么样子?因为WebDriver是编程语言中立的,所以这个问题的答案取决于您使用的是哪个WebDriver客户端和语言的选择。
但是使用Python编写的流行客户端,您与WebDriver的交互可能如下所示:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.expected_conditions import presence_of_element_located wait = WebDriverWait(driver, 10) with webdriver.Firefox() as driver: driver.get("http://google.com/ncr") driver.find_element_by_name("q").send_keys("cheese" + Keys.RETURN) wait.until(presence_of_element_located((By.CSS_SELECTOR, "h3>a"))) results = driver.find_elements_by_css_selector("h3>a") for i, result in results.iteritems(): print("#{}: {} ({})".format(i, result.text, result.get_property("href")))
这可能会产生与此类似的输出:
#1 Cheese - Wikipedia (https://en.wikipedia.org/wiki/Cheese)
Reference
Commands
- Close Window
- Get Element Attribute
- Get Element Property
- Get Element Tag Name
- Get Timeouts
- Get Window Handles
- Get Window Rect
- New Window
- Set Timeouts
- Set Window Rect
Types
Capabilities
Errors
- Insecure certificate
- Invalid argument
- Invalid cookie domain
- Invalid selector
- Invalid session ID
- Javascript error
- Script timeout
- Stale element reference
- Unknown command
- Unknown error
- Unknown method
Tutorials
List of links to tutorials? We could delete this for now, or link to tutorial elsewhere, until ours are written.
Examples
Include list of links to examples, preferrably in different languages. Don't include actual code blocks here.
Specifications
Specification | Status | Comment |
---|---|---|
WebDriver | Living Standard | Initial definition |
Browser compatibility
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
See also
- Cross browser testing
- Selenium documentation (work in progress)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论