From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/webdriver/index.html | 122 +++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 files/zh-cn/web/webdriver/index.html (limited to 'files/zh-cn/web/webdriver') diff --git a/files/zh-cn/web/webdriver/index.html b/files/zh-cn/web/webdriver/index.html new file mode 100644 index 0000000000..adfdb5d5e3 --- /dev/null +++ b/files/zh-cn/web/webdriver/index.html @@ -0,0 +1,122 @@ +--- +title: WebDriver +slug: Web/WebDriver +tags: + - WebDriver +translation_of: Web/WebDriver +--- +

WebDriver 是远程控制接口,可以对用户代理进行控制. 它提供了一个平台和语言中性线协议,作为进程外程序远程指导web浏览器行为的方法

+ +

能够编写可在不同平台上的许多浏览器中交替运行的指令集,对于向用户提供一致的体验至关重要。随着web平台上新一轮的开发浪潮、设备的多样化以及对技术之间真正的互操作性的需求,WebDriver为跨浏览器测试提供了工具。

+ +

提供了一组接口,用于发现和操作web文档中的DOM元素,并控制用户代理的行为。它的主要目的是允许web作者编写从单独的控制过程中自动执行用户代理的测试,但也可以这样使用,允许浏览器内脚本控制一个(可能是单独的)浏览器。

+ +

概念

+ +

要使用WebDriver,您需要 ... 提供如何使用它的高级描述,而不是低级的细节,然后链接到提供安装细节的其他页面。

+ +

WebDriver主要涉及四个方面:

+ + + +

这些东西一起工作就像 ... 解释命令、动作等的工作流程。

+ +

使用

+ +

那么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

+ +

{{ListSubpages("/en-US/docs/Web/WebDriver/Commands")}}

+ +

Types

+ + + +

Capabilities

+ +

{{ListSubpages("/en-US/docs/Web/WebDriver/Capabilities")}}

+ +

Errors

+ +

{{ListSubpages("/en-US/docs/Web/WebDriver/Errors")}}

+ + + +

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

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('WebDriver')}}{{Spec2('WebDriver')}}Initial definition
+ +

Browser compatibility

+ +

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.

+ +

{{Compat("webdriver", 2)}}

+ +

See also

+ + + +

{{QuickLinksWithSubpages}}

-- cgit v1.2.3-54-g00ecf