WebDriver 协议
newSession
新会话命令使用端点节点创建一个新的 WebDriver 会话。如果创建失败,则返回会话未创建错误。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.newSession(capabilities)
参数
名称 | 类型 | 详细信息 |
---|---|---|
capabilities | 对象 | 一个 JSON 对象,最终在功能处理算法中合并和匹配的功能集 |
返回值
- <Object>
session
: 包含已创建的 WebDriver 会话的 sessionId 和功能的对象。
deleteSession
删除会话命令关闭与当前会话关联的任何顶级浏览上下文,终止连接,最后关闭当前会话。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.deleteSession(deleteSessionOpts)
参数
名称 | 类型 | 详细信息 |
---|---|---|
deleteSessionOpts 可选 | 对象 | 包含 deleteSession 命令选项的对象,例如 { shutdownDriver: boolean } |
status
状态命令返回有关远程端是否处于可以创建新会话的状态的信息,并且还可以包含特定于实现的任意元信息。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.status()
示例
loading...
返回值
- <Object>
status
: 包含驱动程序状态状态的对象。
getTimeouts
获取超时命令获取与当前会话关联的超时持续时间。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getTimeouts()
示例
loading...
返回值
- <Object>
timeouts
: 包含script
、pageLoad
和implicit
超时持续时间的对象。
setTimeouts
设置超时命令设置与当前会话关联的超时持续时间。可以控制的超时在下面会话超时的表格中列出。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.setTimeouts(implicit, pageLoad, script)
参数
名称 | 类型 | 详细信息 |
---|---|---|
implicit 可选 | 数字 | 会话隐式等待超时的毫秒整数 |
pageLoad 可选 | 数字 | 会话页面加载超时的毫秒整数 |
script 可选 | 数字 | 会话脚本超时的毫秒整数 |
示例
loading...
getUrl
获取当前 URL 命令返回当前顶级浏览上下文的 URL。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getUrl()
示例
loading...
返回值
- <string>
url
: 当前顶级浏览上下文的活动文档的文档 URL
navigateTo
navigateTo(go)命令用于导致用户代理将当前顶级浏览上下文导航到一个新位置。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:url。建议使用此命令代替。
用法
browser.navigateTo(url)
参数
名称 | 类型 | 详细信息 |
---|---|---|
url | 字符串 | 表示绝对 URL(以 http(s) 开头)的字符串,可能包括片段(#...),也可能是本地方案(about: 等) |
示例
loading...
back
后退命令导致浏览器在当前顶级浏览上下文的联合会话历史记录中向后遍历一步。这相当于按下浏览器 chrome 中的后退按钮或调用 window.history.back
。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.back()
示例
loading...
forward
前进命令导致浏览器在当前顶级浏览上下文的联合会话历史记录中向前遍历一步。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.forward()
示例
loading...
refresh
刷新命令导致浏览器重新加载当前顶级浏览上下文中的页面。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.refresh()
示例
loading...
getTitle
获取标题命令返回当前顶级浏览上下文的文档标题,相当于调用 document.title
。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getTitle()
示例
loading...
返回值
- <string>
title
: 返回一个字符串,与当前顶级浏览上下文的document.title
相同。
getWindowHandle
获取窗口句柄命令返回当前顶级浏览上下文的窗口句柄。它可以用作切换到窗口的的参数。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getWindowHandle()
示例
loading...
返回值
- <string>
handle
: 返回一个字符串,它是当前顶级浏览上下文的窗口句柄。
closeWindow
关闭窗口命令关闭当前顶级浏览上下文。完成后,如果不再有顶级浏览上下文打开,则 WebDriver 会话本身也将关闭。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.closeWindow()
示例
loading...
switchToWindow
切换到窗口命令用于为当前会话选择当前顶级浏览上下文,即用于处理命令的上下文。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:switchWindow。建议使用此命令代替。
用法
browser.switchToWindow(handle)
参数
名称 | 类型 | 详细信息 |
---|---|---|
handle | 字符串 | 表示窗口句柄的字符串,应为 getWindowHandles 调用中返回的字符串之一 |
示例
loading...
createWindow
创建一个新的顶级浏览上下文。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.createWindow(type)
参数
名称 | 类型 | 详细信息 |
---|---|---|
type | 字符串 | 如果新创建的窗口与当前浏览上下文共享操作系统级别的窗口,则设置为“tab”,否则设置为“window”。 |
示例
loading...
返回值
- <Object>
window
: 新窗口对象,包含“handle”(值为句柄)和“type”(值为创建的窗口类型)。
getWindowHandles
获取窗口句柄命令返回每个打开的顶级浏览上下文的窗口句柄列表。返回窗口句柄的顺序是任意的。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getWindowHandles()
示例
loading...
返回值
- <String[]>
handles
: 一个数组,它是窗口句柄的列表。
printPage
打印页面命令将文档呈现为分页的 PDF 文档。**注意:**Chrome 目前仅在无头模式下支持此功能,请参阅crbug753118
)。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.printPage(orientation, scale, background, width, height, top, bottom, left, right, shrinkToFit, pageRanges)
参数
名称 | 类型 | 详细信息 |
---|---|---|
orientation 可选 | 字符串 | 页面方向。默认值:portrait |
scale 可选 | 数字 | 页面缩放比例。默认值:1 |
background 可选 | 布尔值 | 页面背景。默认值:false |
width 可选 | 数字 | 页面宽度(厘米)。默认值:21.59 (来自页面) |
height 可选 | 数字 | 页面高度(厘米)。默认值:27.94 (来自页面) |
top 可选 | 数字 | 页面上边距(厘米)。默认值:1 |
bottom 可选 | 数字 | 页面下边距(厘米)。默认值:1 |
left 可选 | 数字 | 页面左边距(厘米)。默认值:1 |
right 可选 | 数字 | 页面右边距(厘米)。默认值:1 |
shrinkToFit 可选 | 布尔值 | 将 PDF 缩小以适合页面。默认值:true |
pageRanges 可选 | object[] | 页面范围。默认值 [] |
示例
loading...
返回值
- <string>
pdf
: 分页文档的 Base64 编码 PDF 表示形式。
switchToFrame
切换到框架命令用于选择当前顶级浏览上下文或当前浏览上下文的子浏览上下文,以将其用作后续命令的当前浏览上下文。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令已弃用
此命令已弃用,我们鼓励大家使用 switchFrame
代替切换到框架。有关此命令的更多信息,请阅读https://webdriverio.node.org.cn/docs/api/browser/switchFrame。
用法
browser.switchToFrame(id)
参数
名称 | 类型 | 详细信息 |
---|---|---|
id | 数字、对象、null | 三种可能类型之一:null:表示顶级浏览上下文(即,不是 iframe),数字,表示对应于框架的窗口对象的索引,使用 findElement 收到的元素对象。 |
示例
loading...
switchToParentFrame
切换到父框架命令将未来命令的当前浏览上下文设置为当前浏览上下文的父级。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.switchToParentFrame()
示例
loading...
getWindowRect
获取窗口矩形命令返回对应于当前顶级浏览上下文的操作系统窗口的大小和屏幕位置。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:getWindowSize。建议使用此命令代替。
用法
browser.getWindowRect()
示例
loading...
返回值
- <Object>
windowRect
: “窗口矩形”对象的 JSON 表示形式。它具有 4 个属性:x
、y
、width
和height
。
setWindowRect
设置窗口矩形命令更改对应于当前顶级浏览上下文的操作系统窗口的大小和位置。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:setWindowSize。建议使用此命令代替。
用法
browser.setWindowRect(x, y, width, height)
参数
名称 | 类型 | 详细信息 |
---|---|---|
x | 数字、null | 窗口对象的 screenX 属性 |
y | 数字、null | 窗口对象的 screenY 属性 |
width | 数字、null | 顶级浏览上下文外部尺寸的宽度,包括浏览器 chrome 等... |
height | 数字、null | 顶级浏览上下文外部尺寸的高度,包括浏览器 chrome 等... |
示例
loading...
返回值
- <Object>
windowRect
: 基于新窗口状态的“窗口矩形”对象的 JSON 表示形式。
maximizeWindow
最大化窗口命令在包含当前顶级浏览上下文的窗口上(如果有)调用窗口管理器特定的“最大化”操作。这通常会将窗口增大到最大可用大小,而不会进入全屏状态。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.maximizeWindow()
示例
loading...
返回值
- <Object>
windowRect
: 基于新窗口状态的“窗口矩形”对象的 JSON 表示形式。
minimizeWindow
最小化窗口命令会调用窗口管理器特定的“最小化”操作(如果存在),操作对象为包含当前顶级浏览上下文的窗口。这通常会将窗口隐藏到系统托盘中。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.minimizeWindow()
返回值
- <对象>
windowRect
: (新)当前顶级浏览上下文的“窗口矩形”对象的 JSON 表示形式。
fullscreenWindow
全屏窗口命令会调用窗口管理器特定的“全屏”操作(如果存在),操作对象为包含当前顶级浏览上下文的窗口。这通常会将窗口大小调整为物理显示屏的大小,并可以隐藏浏览器 chrome 元素(例如工具栏)。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.fullscreenWindow()
返回值
- <对象>
windowRect
: (新)当前顶级浏览上下文的“窗口矩形”对象的 JSON 表示形式。
findElement
查找元素命令用于在当前浏览上下文中查找一个元素,该元素可用于未来的命令。此命令返回元素的 JSON 表示形式,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:$。建议使用此命令代替。
用法
browser.findElement(using, value)
参数
名称 | 类型 | 详细信息 |
---|---|---|
使用 | 字符串 | 有效的元素定位策略 |
值 | 字符串 | 将用于查找元素的实际选择器 |
示例
loading...
返回值
- <对象>
element
: 元素对象的 JSON 表示形式,例如{ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }
。
findElementFromShadowRoot
查找来自 Shadow Root 的元素命令用于在元素的 Shadow Root 内查找一个元素,该元素可用于未来的命令。此命令返回元素的 JSON 表示形式,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:shadow$。建议使用此命令代替。
用法
browser.findElementFromShadowRoot(shadowId, using, value)
参数
名称 | 类型 | 详细信息 |
---|---|---|
shadowId | 字符串 | Shadow Root 元素的元素 ID |
使用 | 字符串 | 有效的元素定位策略 |
值 | 字符串 | 将用于查找元素的实际选择器 |
示例
loading...
返回值
- <对象>
element
: 元素 Shadow 对象的 JSON 表示形式,例如{ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }
。
findElements
查找元素命令用于在当前浏览上下文中查找元素,这些元素可用于未来的命令。此命令返回元素的 JSON 表示形式的数组,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素(请参阅 findElement)。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:$$。建议使用此命令代替。
用法
browser.findElements(using, value)
参数
名称 | 类型 | 详细信息 |
---|---|---|
使用 | 字符串 | 有效的元素定位策略 |
值 | 字符串 | 将用于查找元素的实际选择器 |
示例
loading...
返回值
- <对象[]>
elements
: 元素对象的 JSON 表示形式列表(可能是空的),例如[{ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }]
。
findElementsFromShadowRoot
查找元素命令用于在元素的 Shadow Root 内查找元素,这些元素可用于未来的命令。此命令返回元素的 JSON 表示形式的数组,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素(请参阅 findElement)。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:shadow$$。建议使用此命令代替。
用法
browser.findElementsFromShadowRoot(shadowId, using, value)
参数
名称 | 类型 | 详细信息 |
---|---|---|
shadowId | 字符串 | Shadow Root 元素的元素 ID |
使用 | 字符串 | 有效的元素定位策略 |
值 | 字符串 | 将用于查找元素的实际选择器 |
示例
loading...
返回值
- <对象[]>
elements
: 元素对象的 JSON 表示形式列表(可能是空的),例如{ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }
。
findElementFromElement
查找来自元素的元素命令用于在当前浏览上下文中从 Web 元素查找一个元素,该元素可用于未来的命令。此命令返回元素的 JSON 表示形式,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素(请参阅 findElement)。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:$。建议使用此命令代替。
用法
browser.findElementFromElement(elementId, using, value)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
使用 | 字符串 | 有效的元素定位策略 |
值 | 字符串 | 将用于查找元素的实际选择器 |
示例
loading...
返回值
- <对象>
element
: 元素对象的 JSON 表示形式,例如{ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }
。
findElementsFromElement
查找来自元素的元素命令用于在当前浏览上下文中从 Web 元素查找元素,这些元素可用于未来的命令。此命令返回元素的 JSON 表示形式的数组,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素(请参阅 findElement)。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:$$。建议使用此命令代替。
用法
browser.findElementsFromElement(elementId, using, value)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
使用 | 字符串 | 有效的元素定位策略 |
值 | 字符串 | 将用于查找元素的实际选择器 |
示例
loading...
返回值
- <对象[]>
elements
: 元素对象的 JSON 表示形式列表(可能是空的),例如[{ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }]
。
getElementShadowRoot
获取元素的 Shadow Root 对象。结果对象可用于使用例如 findElementFromShadowRoots 或 findElementsFromShadowRoots 在此 Shadow Root 内获取元素。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:shadow$。建议使用此命令代替。
用法
browser.getElementShadowRoot(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
返回值
- <字符串>
shadowRoot
: 元素 Shadow Root 的 JSON 表示形式,例如{ 'shadow-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }
。
getActiveElement
获取活动元素返回当前浏览上下文文档元素的活动元素。此命令返回元素的 JSON 表示形式,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素(请参阅 findElement)。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getActiveElement()
示例
loading...
返回值
- <字符串>
element
: 元素对象的 JSON 表示形式,例如{ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }
。
isElementSelected
是否选中元素确定引用的元素是否被选中。此操作仅对复选框和单选按钮状态的输入元素或选项元素有意义。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令嵌入在以下便捷方法中:isSelected。建议使用此命令代替。
用法
browser.isElementSelected(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
返回值
- <Boolean>
isSelected
: 根据选中状态返回true
或false
。
isElementDisplayed
Is Element Displayed 用于确定元素的可见性,其依据是人眼感知到的可见性。在此上下文中,元素的显示状态与 visibility
或 display
样式属性无关。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:isDisplayed。建议使用此命令代替。
用法
browser.isElementDisplayed(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
返回值
- <Boolean>
isDisplayed
: 根据可见状态返回true
或false
。
getElementAttribute
Get Element Attribute 命令将返回网页元素的属性。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:getAttribute。建议使用此命令代替。
用法
browser.getElementAttribute(elementId, name)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
name | 字符串 | 要检索的属性值的名称 |
示例
loading...
返回值
- <string>
attribute
: 元素的指定属性。
getElementProperty
Get Element Property 命令将返回获取元素属性的结果。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:getProperty。建议使用此命令代替。
用法
browser.getElementProperty(elementId, name)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
name | 字符串 | 要检索的属性名称 |
示例
loading...
返回值
- <string>
property
: 元素的指定属性,通过在元素对象上调用 GetOwnProperty 来访问。
getElementCSSValue
Get Element CSS Value 命令检索给定网页元素的给定 CSS 属性的计算值。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:getCSSProperty。建议使用此命令代替。
用法
browser.getElementCSSValue(elementId, propertyName)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
propertyName | 字符串 | 要检索的 CSS 属性的名称 |
示例
loading...
返回值
- <string>
cssValue
: 来自元素样式声明中与属性名称对应的参数的计算值(除非文档类型为 xml,在这种情况下,返回值只是空字符串)。
getElementText
Get Element Text 命令旨在返回元素的“渲染”文本。元素的渲染文本也用于通过其链接文本和部分链接文本来定位元素。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
用法
browser.getElementText(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
返回值
- <string>
text
: 元素的可见文本(包括子元素),遵循 Selenium Atoms 中为bot.dom.getVisibleText
定义的算法。
getElementTagName
Get Element Tag Name 命令返回给定网页元素的限定元素名称。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:getTagName。建议使用此命令代替。
用法
browser.getElementTagName(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
返回值
- <string>
text
: 元素的 tagName 属性。
getElementRect
Get Element Rect 命令返回给定网页元素的尺寸和坐标。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:getSize、getLocation。建议使用这些命令代替。
用法
browser.getElementRect(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
返回值
- <Object>
elementRect
: 表示元素位置和边界矩形的 JSON 对象。
isElementEnabled
Is Element Enabled 用于确定引用的元素是否启用。此操作仅对表单控件有意义。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:isEnabled。建议使用此命令代替。
用法
browser.isElementEnabled(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
返回值
- <Boolean>
isEnabled
: 如果元素位于 xml 文档中,或者是被禁用的表单控件:false
,否则为true
。
elementClick
Element Click 命令如果元素尚未可点击,则将其滚动到视口中,然后点击其在视口中的中心点。如果元素的中心点被另一个元素遮挡,则返回元素点击拦截错误。如果元素在视口之外,则返回元素不可交互错误。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:click。建议使用此命令代替。
用法
browser.elementClick(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
elementClear
Element Clear 命令将可编辑或可重置的元素滚动到视口中,然后尝试清除其选定的文件或文本内容。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
此协议命令已嵌入以下便捷方法中:clearValue。建议使用此命令代替。
用法
browser.elementClear(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
示例
loading...
elementSendKeys
Element Send Keys 命令将表单控件元素滚动到视口中,然后将提供的键发送到该元素。如果元素不可键盘交互,则返回元素不可交互错误。
用于输入的键输入状态可能会在“键入”过程中通过发送空键(即 U+E000(NULL))而被清除。
WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。
用法
browser.elementSendKeys(elementId, text)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
text | 字符串 | 要作为按键发送到元素的字符串 |
示例
loading...
getPageSource
获取页面源代码命令返回当前浏览上下文活动文档的 DOM 的字符串序列化。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getPageSource()
示例
loading...
返回值
- <string>
pageSource
: 当前浏览上下文活动文档的 DOM
executeScript
执行脚本命令在当前浏览上下文的上下文中执行 JavaScript 函数,并返回函数的返回值。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令已嵌入以下便捷方法中:execute。建议使用此命令代替。
用法
browser.executeScript(script, args)
参数
名称 | 类型 | 详细信息 |
---|---|---|
script | 字符串 | 一个字符串,即您要执行的 Javascript 函数体 |
args | 字符串、对象、数字、布尔值、null、undefined[] | 一个 JSON 值数组,这些值将被反序列化并作为参数传递给您的函数 |
示例
loading...
返回值
- <*>
result
: 您的脚本的返回值、您的脚本返回的 Promise 的 fulfilled,或导致您的脚本返回的 Promise 被 rejected 的错误。
executeAsyncScript
执行异步脚本命令导致 JavaScript 作为匿名函数执行。与执行脚本命令不同,函数的结果被忽略。而是将一个额外的参数作为最后一个参数提供给函数。这是一个函数,当被调用时,将其第一个参数作为响应返回。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
此协议命令已嵌入以下便捷方法中:executeAsync。建议使用此命令代替。
用法
browser.executeAsyncScript(script, args)
参数
名称 | 类型 | 详细信息 |
---|---|---|
script | 字符串 | 一个字符串,即您要执行的 Javascript 函数体 |
args | 字符串、对象、数字、布尔值、null、undefined[] | 一个 JSON 值数组,这些值将被反序列化并作为参数传递给您的函数 |
示例
loading...
返回值
- <*>
result
: 您的脚本的返回值、您的脚本返回的 Promise 的 fulfilled,或导致您的脚本返回的 Promise 被 rejected 的错误。
getAllCookies
获取所有 Cookie 命令返回与当前浏览上下文活动文档的地址关联的所有 Cookie。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getAllCookies()
示例
loading...
返回值
- <Object[]>
cookies
: 序列化 Cookie 列表。每个序列化 Cookie 都有许多可选字段,除了name
和value
之外,这些字段可能返回也可能不返回。
addCookie
添加 Cookie 命令将单个 Cookie 添加到与活动文档地址关联的 Cookie 存储中。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.addCookie(cookie)
参数
名称 | 类型 | 详细信息 |
---|---|---|
cookie | 对象 | 表示 Cookie 的 JSON 对象。它必须至少具有 name 和 value 字段,并且可能具有更多字段,包括过期时间等 |
示例
loading...
deleteAllCookies
删除所有 Cookie 命令允许删除与活动文档地址关联的所有 Cookie。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.deleteAllCookies()
示例
loading...
getNamedCookie
获取命名 Cookie 命令从当前浏览上下文活动文档的 Cookie 存储中关联的 Cookie 中返回具有请求名称的 Cookie。如果未找到 Cookie,则返回“无此 Cookie”错误。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getNamedCookie(name)
参数
名称 | 类型 | 详细信息 |
---|---|---|
name | 字符串 | 要检索的 Cookie 的名称 |
示例
loading...
返回值
- <Object>
cookie
: 序列化 Cookie,具有 name 和 value 字段。还有一些可选字段,如path
、domain
和expiry-time
,这些字段也可能存在。
deleteCookie
删除 Cookie 命令允许您通过参数名称删除单个 Cookie,或者如果 name 未定义,则删除与活动文档地址关联的所有 Cookie。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.deleteCookie(name)
参数
名称 | 类型 | 详细信息 |
---|---|---|
name | 字符串 | 要删除的 Cookie 的名称 |
示例
loading...
performActions
执行操作命令用于执行复杂的用户操作。有关更多详细信息,请参阅规范。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.performActions(actions)
参数
名称 | 类型 | 详细信息 |
---|---|---|
actions | object[] | 对象列表,每个对象表示一个输入源及其关联的操作 |
releaseActions
释放操作命令用于释放当前按下的所有键和指针按钮。这会导致事件被触发,就像状态通过一系列显式操作被释放一样。它还清除虚拟设备的所有内部状态。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.releaseActions()
dismissAlert
关闭警报命令关闭简单的对话框(如果存在),否则出错。关闭警报用户提示(可能不一定有关闭按钮)的请求与接受它具有相同的效果。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.dismissAlert()
示例
loading...
acceptAlert
接受警报命令接受简单的对话框(如果存在),否则出错。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.acceptAlert()
getAlertText
获取警报文本命令返回当前用户提示的消息。如果没有当前用户提示,则返回错误。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getAlertText()
示例
loading...
返回值
- <string>
alertText
: 用户提示的消息。
sendAlertText
“发送警报文本”命令将窗口提示用户提示的文本字段设置为给定值。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.sendAlertText(text)
参数
名称 | 类型 | 详细信息 |
---|---|---|
text | 字符串 | 将提示设置为的字符串 |
takeScreenshot
“截取屏幕截图”命令截取顶级浏览上下文的视口屏幕截图。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.takeScreenshot()
返回值
- <string>
screenshot
: 包含初始视口屏幕截图的 Base64 编码的 PNG 图像数据。
takeElementScreenshot
“截取元素屏幕截图”命令截取元素边界矩形包含的可见区域的屏幕截图。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.takeElementScreenshot(elementId, scroll)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
scroll 可选 | 布尔值 | 滚动元素进入视野。默认值:true |
返回值
- <string>
screenshot
: 包含元素边界矩形可见区域的屏幕截图的 Base64 编码的 PNG 图像数据,该区域在滚动到视野中后获取。
getElementComputedRole
获取元素的计算出的 WAI-ARIA 角色。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getElementComputedRole(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
返回值
- <string>
role
: 计算元素的 WAI-ARIA 角色的结果。
getElementComputedLabel
获取元素的可访问名称。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getElementComputedLabel(elementId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
elementId | 字符串 | 在之前对 Find Element(s) 的调用中返回的元素的 ID |
返回值
- <string>
label
: 对元素的可访问名称进行可访问名称和描述计算的结果。
setPermissions
模拟用户修改 PermissionDescriptor 的权限状态。注意:此功能尚未在所有浏览器中实现。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.setPermissions(descriptor, state, oneRealm)
参数
名称 | 类型 | 详细信息 |
---|---|---|
descriptor | 对象 | 每个强大的功能都具有一些网站可以请求访问权限的方面。为了描述这些方面,每个功能都定义了 PermissionDescriptor 的一个子类型作为其权限描述符类型。注意:此功能尚未在所有浏览器中实现。 |
state | 字符串 | 确定是否授予、拒绝或提示权限。 |
oneRealm 可选 | 布尔值 | 是否将权限应用于所有执行上下文。 |
示例
// set midi permissions
browser.setPermissions(
{ name: 'midi', sysex: true },
'granted' // can be also "denied" or "prompt"
);
// set clipboard permissions
browser.setPermissions({ name: 'clipboard-read' }, 'granted');
// now you can read the clipboard via, e.g.
const clipboardText = await browser.execute(() => navigator.clipboard.readText());
generateTestReport
生成测试报告。针对Reporting API的扩展。注意:此功能尚未在所有浏览器中实现。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.generateTestReport(message, group)
参数
名称 | 类型 | 详细信息 |
---|---|---|
message | 字符串 | 要在报告中显示的消息。 |
group 可选 | 字符串 | 指定要将报告发送到的端点组。 |
createMockSensor
创建模拟传感器以模拟环境光传感器等传感器。注意:此功能尚未在所有浏览器中实现。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.createMockSensor(mockSensorType, maxSamplingFrequency, minSamplingFrequency)
参数
名称 | 类型 | 详细信息 |
---|---|---|
mockSensorType | 字符串 | 要模拟的传感器 API 类型,例如“ambient-light”。 |
maxSamplingFrequency 可选 | 数字 | 表示以 Hz 为单位的频率的双精度数,用于设置关联的模拟传感器的最大支持采样频率。 |
minSamplingFrequency 可选 | 数字 | 表示以 Hz 为单位的频率的双精度数,用于设置关联的模拟传感器的最小支持采样频率。 |
getMockSensor
检索有关给定类型的模拟传感器的信息。注意:此功能尚未在所有浏览器中实现。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getMockSensor(type)
参数
名称 | 类型 | 详细信息 |
---|---|---|
type | 字符串 | 要从中检索信息的模拟传感器类型。 |
返回值
- <object>
sensorReading
: 模拟传感器读数的值。
updateMockSensor
更新模拟传感器类型。注意:此功能尚未在所有浏览器中实现。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.updateMockSensor(type, mockSensorType, maxSamplingFrequency, minSamplingFrequency)
参数
名称 | 类型 | 详细信息 |
---|---|---|
type | 字符串 | 要更新信息的模拟传感器类型。 |
mockSensorType | 字符串 | 要模拟的传感器 API 类型,例如“ambient-light”。 |
maxSamplingFrequency 可选 | 数字 | 表示以 Hz 为单位的频率的双精度数,用于设置关联的模拟传感器的最大支持采样频率。 |
minSamplingFrequency 可选 | 数字 | 表示以 Hz 为单位的频率的双精度数,用于设置关联的模拟传感器的最小支持采样频率。 |
deleteMockSensor
“删除会话”命令关闭与当前会话关联的任何顶级浏览上下文,终止连接,最后关闭当前会话。注意:此功能尚未在所有浏览器中实现。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.deleteMockSensor(type)
参数
名称 | 类型 | 详细信息 |
---|---|---|
type | 字符串 | 要删除的模拟传感器类型。 |
setTimeZone
模拟更改时区以进行测试。注意:此功能尚未在所有浏览器中实现。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.setTimeZone(time_zone)
参数
名称 | 类型 | 详细信息 |
---|---|---|
time_zone | 字符串 | 时区名称,例如 Asia/Tokyo。 |
addVirtualAuthenticator
创建软件虚拟身份验证器。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.addVirtualAuthenticator(protocol, transport, hasResidentKey, hasUserVerification, isUserConsenting, isUserVerified, extensions, uvm)
参数
名称 | 类型 | 详细信息 |
---|---|---|
protocol 可选 | 字符串 | 有效值:“ctap1/u2f”、“ctap2”、“ctap2_1”。 |
transport 可选 | 字符串 | 有效值:“usb”、“nfc”、“ble”或“internal”。 |
hasResidentKey 可选 | 布尔值 | 有效值:true、false。 |
hasUserVerification 可选 | 布尔值 | 有效值:true、false。 |
isUserConsenting 可选 | 布尔值 | 有效值:true、false。 |
isUserVerified 可选 | 布尔值 | 有效值:包含扩展标识符的数组。 |
extensions 可选 | string[] | 有效值:最多 3 个用户验证方法条目。 |
uvm 可选 | object[] |
返回值
- <string>
authenticatorId
: 返回身份验证器的字符串 ID。
removeVirtualAuthenticator
删除先前创建的虚拟身份验证器。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.removeVirtualAuthenticator(authenticatorId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
authenticatorId | 字符串 | 身份验证器的 ID |
addCredential
将公钥凭据源注入到现有的虚拟身份验证器中。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.addCredential(authenticatorId, credentialId, isResidentCredential, rpId, privateKey, userHandle, signCount, largeBlob)
参数
名称 | 类型 | 详细信息 |
---|---|---|
authenticatorId | 字符串 | 身份验证器的 ID |
credentialId | 字符串 | 使用 Base64url 编码编码的凭据 ID。 |
isResidentCredential | 布尔值 | 如果设置为 true,则创建客户端可发现的凭据。如果设置为 false,则改为创建服务器端凭据。 |
rpId | 字符串 | 凭据范围限定到的依赖方 ID。 |
privateKey | 字符串 | 包含每个 [RFC5958] 的单个私钥的不对称密钥包,使用 Base64url 编码进行编码。 |
userHandle
| 字符串 | 使用 Base64url 编码的凭据关联的 userHandle。此属性可能未定义。 |
signCount | 数字 | 与公钥凭据源关联的签名计数器的初始值。 |
largeBlob 可选 | 字符串 | 与公钥凭据源关联的大型、每个凭据的 blob,使用 Base64url 编码。此属性可能未定义。 |
getCredentials
对于虚拟身份验证器中存储的每个公钥凭据源,返回一个 Credential Parameters 对象,无论它们是使用 Add Credential 还是 navigator.credentials.create()
存储。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.getCredentials(authenticatorId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
authenticatorId | 字符串 | 身份验证器的 ID |
返回值
- <object[]>
credentials
: 返回一个凭据数组。
removeAllCredentials
删除虚拟身份验证器上存储的所有公钥凭据源。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.removeAllCredentials(authenticatorId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
authenticatorId | 字符串 | 身份验证器的 ID |
removeCredential
删除虚拟身份验证器上存储的公钥凭据源。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.removeCredential(authenticatorId, credentialId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
authenticatorId | 字符串 | 身份验证器的 ID |
credentialId | 字符串 | 凭据 ID |
setUserVerified
Set User Verified 扩展命令设置虚拟身份验证器上的 isUserVerified 属性。
WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。
用法
browser.setUserVerified(authenticatorId)
参数
名称 | 类型 | 详细信息 |
---|---|---|
authenticatorId | 字符串 | 身份验证器的 ID |