跳至主要内容

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()
示例
examples.js
loading...
返回值
  • <Object> status: 包含驱动程序状态状态的对象。

getTimeouts

获取超时命令获取与当前会话关联的超时持续时间。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getTimeouts()
示例
examples.js
loading...
返回值
  • <Object> timeouts: 包含 scriptpageLoadimplicit 超时持续时间的对象。

setTimeouts

设置超时命令设置与当前会话关联的超时持续时间。可以控制的超时在下面会话超时的表格中列出。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.setTimeouts(implicit, pageLoad, script)
参数
名称类型详细信息
implicit
可选
数字会话隐式等待超时的毫秒整数
pageLoad
可选
数字会话页面加载超时的毫秒整数
script
可选
数字会话脚本超时的毫秒整数
示例
examples.js
loading...

getUrl

获取当前 URL 命令返回当前顶级浏览上下文的 URL。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getUrl()
示例
examples.js
loading...
返回值
  • <string> url: 当前顶级浏览上下文的活动文档的文档 URL

navigateTo(go)命令用于导致用户代理将当前顶级浏览上下文导航到一个新位置。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令嵌入在以下便捷方法中:url。建议使用此命令代替。

用法
browser.navigateTo(url)
参数
名称类型详细信息
url字符串表示绝对 URL(以 http(s) 开头)的字符串,可能包括片段(#...),也可能是本地方案(about: 等)
示例
examples.js
loading...

back

后退命令导致浏览器在当前顶级浏览上下文的联合会话历史记录中向后遍历一步。这相当于按下浏览器 chrome 中的后退按钮或调用 window.history.back

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.back()
示例
examples.js
loading...

forward

前进命令导致浏览器在当前顶级浏览上下文的联合会话历史记录中向前遍历一步。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.forward()
示例
examples.js
loading...

refresh

刷新命令导致浏览器重新加载当前顶级浏览上下文中的页面。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.refresh()
示例
examples.js
loading...

getTitle

获取标题命令返回当前顶级浏览上下文的文档标题,相当于调用 document.title



WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getTitle()
示例
examples.js
loading...
返回值
  • <string> title: 返回一个字符串,与当前顶级浏览上下文的 document.title 相同。

getWindowHandle

获取窗口句柄命令返回当前顶级浏览上下文的窗口句柄。它可以用作切换到窗口的的参数。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getWindowHandle()
示例
examples.js
loading...
返回值
  • <string> handle: 返回一个字符串,它是当前顶级浏览上下文的窗口句柄。

closeWindow

关闭窗口命令关闭当前顶级浏览上下文。完成后,如果不再有顶级浏览上下文打开,则 WebDriver 会话本身也将关闭。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.closeWindow()
示例
examples.js
loading...

switchToWindow

切换到窗口命令用于为当前会话选择当前顶级浏览上下文,即用于处理命令的上下文。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令嵌入在以下便捷方法中:switchWindow。建议使用此命令代替。

用法
browser.switchToWindow(handle)
参数
名称类型详细信息
handle字符串表示窗口句柄的字符串,应为 getWindowHandles 调用中返回的字符串之一
示例
examples.js
loading...

createWindow

创建一个新的顶级浏览上下文。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.createWindow(type)
参数
名称类型详细信息
type字符串如果新创建的窗口与当前浏览上下文共享操作系统级别的窗口,则设置为“tab”,否则设置为“window”。
示例
examples.js
loading...
返回值
  • <Object> window: 新窗口对象,包含“handle”(值为句柄)和“type”(值为创建的窗口类型)。

getWindowHandles

获取窗口句柄命令返回每个打开的顶级浏览上下文的窗口句柄列表。返回窗口句柄的顺序是任意的。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getWindowHandles()
示例
examples.js
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[]页面范围。默认值 []
示例
examples.js
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 收到的元素对象。
示例
examples.js
loading...

switchToParentFrame

切换到父框架命令将未来命令的当前浏览上下文设置为当前浏览上下文的父级。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.switchToParentFrame()
示例
examples.js
loading...

getWindowRect

获取窗口矩形命令返回对应于当前顶级浏览上下文的操作系统窗口的大小和屏幕位置。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令嵌入在以下便捷方法中:getWindowSize。建议使用此命令代替。

用法
browser.getWindowRect()
示例
examples.js
loading...
返回值
  • <Object> windowRect: “窗口矩形”对象的 JSON 表示形式。它具有 4 个属性:xywidthheight

setWindowRect

设置窗口矩形命令更改对应于当前顶级浏览上下文的操作系统窗口的大小和位置。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令嵌入在以下便捷方法中:setWindowSize。建议使用此命令代替。

用法
browser.setWindowRect(x, y, width, height)
参数
名称类型详细信息
x数字、null窗口对象的 screenX 属性
y数字、null窗口对象的 screenY 属性
width数字、null顶级浏览上下文外部尺寸的宽度,包括浏览器 chrome 等...
height数字、null顶级浏览上下文外部尺寸的高度,包括浏览器 chrome 等...
示例
examples.js
loading...
返回值
  • <Object> windowRect: 基于新窗口状态的“窗口矩形”对象的 JSON 表示形式。

maximizeWindow

最大化窗口命令在包含当前顶级浏览上下文的窗口上(如果有)调用窗口管理器特定的“最大化”操作。这通常会将窗口增大到最大可用大小,而不会进入全屏状态。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.maximizeWindow()
示例
examples.js
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)
参数
名称类型详细信息
使用字符串有效的元素定位策略
字符串将用于查找元素的实际选择器
示例
examples.js
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
使用字符串有效的元素定位策略
字符串将用于查找元素的实际选择器
示例
examples.js
loading...
返回值
  • <对象> element: 元素 Shadow 对象的 JSON 表示形式,例如 { 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }

findElements

查找元素命令用于在当前浏览上下文中查找元素,这些元素可用于未来的命令。此命令返回元素的 JSON 表示形式的数组,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素(请参阅 findElement)。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令嵌入在以下便捷方法中:$$。建议使用此命令代替。

用法
browser.findElements(using, value)
参数
名称类型详细信息
使用字符串有效的元素定位策略
字符串将用于查找元素的实际选择器
示例
examples.js
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
使用字符串有效的元素定位策略
字符串将用于查找元素的实际选择器
示例
examples.js
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
使用字符串有效的元素定位策略
字符串将用于查找元素的实际选择器
示例
examples.js
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
使用字符串有效的元素定位策略
字符串将用于查找元素的实际选择器
示例
examples.js
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
示例
examples.js
loading...
返回值
  • <字符串> shadowRoot: 元素 Shadow Root 的 JSON 表示形式,例如 { 'shadow-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }

getActiveElement

获取活动元素返回当前浏览上下文文档元素的活动元素。此命令返回元素的 JSON 表示形式,该表示形式可以传递给 $ 命令以将引用转换为扩展的 WebdriverIO 元素(请参阅 findElement)。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getActiveElement()
示例
examples.js
loading...
返回值
  • <字符串> element: 元素对象的 JSON 表示形式,例如 { 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT_1' }

isElementSelected

是否选中元素确定引用的元素是否被选中。此操作仅对复选框和单选按钮状态的输入元素或选项元素有意义。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令嵌入在以下便捷方法中:isSelected。建议使用此命令代替。

用法
browser.isElementSelected(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...
返回值
  • <Boolean> isSelected: 根据选中状态返回 truefalse

isElementDisplayed

Is Element Displayed 用于确定元素的可见性,其依据是人眼感知到的可见性。在此上下文中,元素的显示状态与 visibilitydisplay 样式属性无关。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:isDisplayed。建议使用此命令代替。

用法
browser.isElementDisplayed(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...
返回值
  • <Boolean> isDisplayed: 根据可见状态返回 truefalse

getElementAttribute

Get Element Attribute 命令将返回网页元素的属性。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:getAttribute。建议使用此命令代替。

用法
browser.getElementAttribute(elementId, name)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
name字符串要检索的属性值的名称
示例
examples.js
loading...
返回值
  • <string> attribute: 元素的指定属性。

getElementProperty

Get Element Property 命令将返回获取元素属性的结果。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:getProperty。建议使用此命令代替。

用法
browser.getElementProperty(elementId, name)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
name字符串要检索的属性名称
示例
examples.js
loading...
返回值
  • <string> property: 元素的指定属性,通过在元素对象上调用 GetOwnProperty 来访问。

getElementCSSValue

Get Element CSS Value 命令检索给定网页元素的给定 CSS 属性的计算值。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:getCSSProperty。建议使用此命令代替。

用法
browser.getElementCSSValue(elementId, propertyName)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
propertyName字符串要检索的 CSS 属性的名称
示例
examples.js
loading...
返回值
  • <string> cssValue: 来自元素样式声明中与属性名称对应的参数的计算值(除非文档类型为 xml,在这种情况下,返回值只是空字符串)。

getElementText

Get Element Text 命令旨在返回元素的“渲染”文本。元素的渲染文本也用于通过其链接文本和部分链接文本来定位元素。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

用法
browser.getElementText(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...
返回值
  • <string> text: 元素的可见文本(包括子元素),遵循 Selenium Atoms 中为 bot.dom.getVisibleText 定义的算法。

getElementTagName

Get Element Tag Name 命令返回给定网页元素的限定元素名称。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:getTagName。建议使用此命令代替。

用法
browser.getElementTagName(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...
返回值
  • <string> text: 元素的 tagName 属性。

getElementRect

Get Element Rect 命令返回给定网页元素的尺寸和坐标。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:getSizegetLocation。建议使用这些命令代替。

用法
browser.getElementRect(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...
返回值
  • <Object> elementRect: 表示元素位置和边界矩形的 JSON 对象。

isElementEnabled

Is Element Enabled 用于确定引用的元素是否启用。此操作仅对表单控件有意义。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:isEnabled。建议使用此命令代替。

用法
browser.isElementEnabled(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...
返回值
  • <Boolean> isEnabled: 如果元素位于 xml 文档中,或者是被禁用的表单控件:false,否则为 true

elementClick

Element Click 命令如果元素尚未可点击,则将其滚动到视口中,然后点击其在视口中的中心点。如果元素的中心点被另一个元素遮挡,则返回元素点击拦截错误。如果元素在视口之外,则返回元素不可交互错误。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:click。建议使用此命令代替。

用法
browser.elementClick(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...

elementClear

Element Clear 命令将可编辑或可重置的元素滚动到视口中,然后尝试清除其选定的文件或文本内容。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:clearValue。建议使用此命令代替。

用法
browser.elementClear(elementId)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
示例
examples.js
loading...

elementSendKeys

Element Send Keys 命令将表单控件元素滚动到视口中,然后将提供的键发送到该元素。如果元素不可键盘交互,则返回元素不可交互错误。

用于输入的键输入状态可能会在“键入”过程中通过发送空键(即 U+E000(NULL))而被清除。

WebDriver 协议命令。更多详细信息可以在 官方协议文档 中找到。

信息

此协议命令已嵌入以下便捷方法中:addValuesetValue。建议使用这些命令代替。

用法
browser.elementSendKeys(elementId, text)
参数
名称类型详细信息
elementId字符串在之前对 Find Element(s) 的调用中返回的元素的 ID
text字符串要作为按键发送到元素的字符串
示例
examples.js
loading...

getPageSource

获取页面源代码命令返回当前浏览上下文活动文档的 DOM 的字符串序列化。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getPageSource()
示例
examples.js
loading...
返回值
  • <string> pageSource: 当前浏览上下文活动文档的 DOM

executeScript

执行脚本命令在当前浏览上下文的上下文中执行 JavaScript 函数,并返回函数的返回值。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令已嵌入以下便捷方法中:execute。建议使用此命令代替。

用法
browser.executeScript(script, args)
参数
名称类型详细信息
script字符串一个字符串,即您要执行的 Javascript 函数体
args字符串、对象、数字、布尔值、null、undefined[]一个 JSON 值数组,这些值将被反序列化并作为参数传递给您的函数
示例
examples.js
loading...
返回值
  • <*> result: 您的脚本的返回值、您的脚本返回的 Promise 的 fulfilled,或导致您的脚本返回的 Promise 被 rejected 的错误。

executeAsyncScript

执行异步脚本命令导致 JavaScript 作为匿名函数执行。与执行脚本命令不同,函数的结果被忽略。而是将一个额外的参数作为最后一个参数提供给函数。这是一个函数,当被调用时,将其第一个参数作为响应返回。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

信息

此协议命令已嵌入以下便捷方法中:executeAsync。建议使用此命令代替。

用法
browser.executeAsyncScript(script, args)
参数
名称类型详细信息
script字符串一个字符串,即您要执行的 Javascript 函数体
args字符串、对象、数字、布尔值、null、undefined[]一个 JSON 值数组,这些值将被反序列化并作为参数传递给您的函数
示例
examples.js
loading...
返回值
  • <*> result: 您的脚本的返回值、您的脚本返回的 Promise 的 fulfilled,或导致您的脚本返回的 Promise 被 rejected 的错误。

getAllCookies

获取所有 Cookie 命令返回与当前浏览上下文活动文档的地址关联的所有 Cookie。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getAllCookies()
示例
examples.js
loading...
返回值
  • <Object[]> cookies: 序列化 Cookie 列表。每个序列化 Cookie 都有许多可选字段,除了namevalue之外,这些字段可能返回也可能不返回。

addCookie

添加 Cookie 命令将单个 Cookie 添加到与活动文档地址关联的 Cookie 存储中。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.addCookie(cookie)
参数
名称类型详细信息
cookie对象表示 Cookie 的 JSON 对象。它必须至少具有 name 和 value 字段,并且可能具有更多字段,包括过期时间等
示例
examples.js
loading...

deleteAllCookies

删除所有 Cookie 命令允许删除与活动文档地址关联的所有 Cookie。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.deleteAllCookies()
示例
examples.js
loading...

getNamedCookie

获取命名 Cookie 命令从当前浏览上下文活动文档的 Cookie 存储中关联的 Cookie 中返回具有请求名称的 Cookie。如果未找到 Cookie,则返回“无此 Cookie”错误。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getNamedCookie(name)
参数
名称类型详细信息
name字符串要检索的 Cookie 的名称
示例
examples.js
loading...
返回值
  • <Object> cookie: 序列化 Cookie,具有 name 和 value 字段。还有一些可选字段,如pathdomainexpiry-time,这些字段也可能存在。

deleteCookie

删除 Cookie 命令允许您通过参数名称删除单个 Cookie,或者如果 name 未定义,则删除与活动文档地址关联的所有 Cookie。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.deleteCookie(name)
参数
名称类型详细信息
name字符串要删除的 Cookie 的名称
示例
examples.js
loading...

performActions

执行操作命令用于执行复杂的用户操作。有关更多详细信息,请参阅规范

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.performActions(actions)
参数
名称类型详细信息
actionsobject[]对象列表,每个对象表示一个输入源及其关联的操作

releaseActions

释放操作命令用于释放当前按下的所有键和指针按钮。这会导致事件被触发,就像状态通过一系列显式操作被释放一样。它还清除虚拟设备的所有内部状态。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.releaseActions()

dismissAlert

关闭警报命令关闭简单的对话框(如果存在),否则出错。关闭警报用户提示(可能不一定有关闭按钮)的请求与接受它具有相同的效果。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.dismissAlert()
示例
examples.js
loading...

acceptAlert

接受警报命令接受简单的对话框(如果存在),否则出错。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.acceptAlert()

getAlertText

获取警报文本命令返回当前用户提示的消息。如果没有当前用户提示,则返回错误。

WebDriver 协议命令。更多详细信息可以在官方协议文档中找到。

用法
browser.getAlertText()
示例
examples.js
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

欢迎!我怎样才能帮助您?

WebdriverIO AI Copilot