跳到主要内容

Chromium

isAlertOpen

判断是否有简单对话框当前打开。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.isAlertOpen()
示例
console.log(browser.isAlertOpen()); // 输出: false
browser.execute('window.alert()');
console.log(browser.isAlertOpen()); // 输出: true
返回
  • <Boolean> isAlertOpen: 根据简单对话框是否存在返回truefalse

isAutoReporting

是否自动在浏览器日志上报错误。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.isAutoReporting()
返回
  • <Boolean> isAutoReporting: 根据自动报告是否启用返回truefalse

setAutoReporting

切换是否为所有后续命令返回带有未知错误的响应,其中包含第一个浏览器错误(例如由于403/404响应而导致的资源加载失败)(一旦启用)。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.setAutoReporting(enabled)
参数
名称类型详情
enabledboolean如果应启用自动报告则为true,使用false禁用先前启用的自动报告。
示例
// 在会话初始化后,浏览器日志为空时首先启用自动报告
console.log(browser.setAutoReporting(true)); // 输出: null
// 请求不存在的资源时,由于抛出未知错误而中止执行
browser.url('https://webdriver.io/img/404-does-not-exist.png');
// 在会话期间执行一些操作,填充浏览器日志
browser.url('https://webdriver.io/img/404-does-not-exist.png');
browser.url('https://webdriver.io/403/no-access');
// 启用自动报告,为第一个浏览器日志(404响应)抛出未知错误
browser.setAutoReporting(true);
返回
  • <Object|Null> firstBrowserError: 如果在执行此命令之前已经发生第一个浏览器错误,它将抛出一个未知错误作为响应,这是一个带有'message'键的对象,描述第一个浏览器错误。否则,成功时返回null

isLoading

确定活动窗口句柄的加载状态。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.isLoading()
示例
console.log(browser.isLoading()); // 输出: false
browser.newWindow('https://webdriver.io');
console.log(browser.isLoading()); // 输出: true
返回
  • <Boolean> isLoading: 根据活动窗口句柄是否正在加载返回truefalse

takeHeapSnapshot

拍摄当前执行上下文的堆快照。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.takeHeapSnapshot()
返回
  • <Object> heapSnapshot: 堆快照的JSON表示。可以通过将其作为文件加载到Chrome DevTools中进行检查。

getNetworkConnection

获取网络模拟的连接类型。此命令仅适用于远程端回复networkConnectionEnabled功能设置为true的情况。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.getNetworkConnection()
示例
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// 网络模拟需要设备模式,只有在移动模拟开启时才启用
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.getNetworkConnection()); // 输出: 6 (同时启用Wi-Fi和数据)
返回
  • <Number> connectionType: 表示网络连接类型的位掩码。飞行模式(1),仅Wi-Fi(2),Wi-Fi和数据(6),4G(8),3G(10),2G(20)。默认情况下启用Wi-Fi和数据

setNetworkConnection

更改网络连接的连接类型。此命令仅适用于远程端回复networkConnectionEnabled功能设置为true的情况。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.setNetworkConnection(parameters)
参数
名称类型详情
parametersobject包含ConnectionType的对象,在对象中将位掩码设置为type键的值。飞行模式(1),仅Wi-Fi(2),Wi-Fi和数据(6),4G(8),3G(10),2G(20)。
示例
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// 网络模拟需要设备模式,只有在移动模拟开启时才启用
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.setNetworkConnection({ type: 1 })); // 输出: 1 (飞行模式)
返回
  • <Number> connectionType: 表示网络连接类型的位掩码。值应与对象中指定的type匹配,但设备可能不支持所请求的网络连接类型。

getNetworkConditions

获取用于模拟的当前网络条件。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.getNetworkConditions()
返回
  • <Object> networkConditions: 包含offlinelatencydownload_throughputupload_throughput网络条件的对象。必须先设置网络条件才能获取。

setNetworkConditions

通过节流连接设置用于模拟的网络条件。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.setNetworkConditions(network_conditions, network_name)
参数
名称类型详情
network_conditionsobject包含网络条件的对象,这些条件是latencythroughput(或download_throughput/upload_throughput)和offline(可选)。
network_name
可选
string网络节流预设的名称。GPRSRegular 2GGood 2GRegular 3GGood 3GRegular 4GDSLWiFiNo throttling以禁用。指定预设时,第一个参数中传递的值将不被考虑。
示例
// 使用不同的下载(25kb/s)和上传(50kb/s)吞吐量值进行节流,延迟为1000ms
browser.setNetworkConditions({ latency: 1000, download_throughput: 25600, upload_throughput: 51200 });
// 通过将'offline'设置为true强制断开网络连接
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true });
// 当指定预设名称(例如'DSL')时,不会考虑对象中的值(例如'offline')
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true }, 'DSL');
// 指定网络节流预设的最佳做法是使用空对象
browser.setNetworkConditions({}, 'Good 3G');

deleteNetworkConditions

禁用可能已设置的任何网络节流。等同于设置No throttling预设。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.deleteNetworkConditions()

sendCommand

向DevTools调试器发送命令。
有关可用命令及其参数的列表,请参阅Chrome DevTools Protocol Viewer

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.sendCommand(cmd, params)
参数
名称类型详情
cmdstring命令的名称(例如Browser.close)。
paramsobject命令的参数。如果命令没有参数,请指定一个空对象。

sendCommandAndGetResult

向DevTools调试器发送命令并等待结果。
有关可用命令及其参数的列表,请参阅Chrome DevTools Protocol Viewer

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.sendCommandAndGetResult(cmd, params)
参数
名称类型详情
cmdstring返回结果的命令的名称(例如Network.getAllCookies)。
paramsobject命令的参数。如果命令没有参数,请指定一个空对象。
返回
  • <*> result: 命令的返回值,或者是导致命令失败的错误。

file

将文件上传到运行浏览器的远程机器。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.file(file)
参数
名称类型详情
filestringBase64编码的zip归档,包含__单个__要上传的文件。如果base64编码的数据不代表zip归档或归档包含多个文件,将抛出未知错误。
返回
  • <String> path: 远程机器上已上传文件的绝对路径。

launchChromeApp

通过指定的ID启动Chrome应用。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.launchChromeApp(id)
参数
名称类型详情
idstring要启动的应用的扩展ID,如chrome://extensions中定义。
示例
import fs from 'fs'
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// 启动浏览器时安装以便启动它
extensions: [
// 条目应为base64编码的打包Chrome应用(.crx)
fs.readFileSync('/absolute/path/app.crx').toString('base64')
]
}
}
});
browser.launchChromeApp('aohghmighlieiainnegkcijnfilokake')); // Google Docs (https://chrome.google.com/webstore/detail/docs/aohghmighlieiainnegkcijnfilokake)

getElementValue

检索给定表单控件元素的值。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.getElementValue(elementId)
参数
名称类型详情
elementIdString要获取值的元素的id
返回
  • <String|Null> value: 元素的当前值。如果指定的元素不是表单控件元素,将返回null

elementHover

为元素启用悬停状态,该状态将在下一次交互时重置。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.elementHover(elementId)
参数
名称类型详情
elementIdString要悬停的元素的id

touchPinch

触发捏合缩放效果。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.touchPinch(x, y, scale)
参数
名称类型详情
xnumber捏合的x位置
ynumber捏合的y位置
scalenumber捏合缩放比例

freeze

冻结当前页面。Page Lifecycle API的扩展。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.freeze()

resume

恢复当前页面。Page Lifecycle API的扩展。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.resume()

getCastSinks

返回Chrome媒体路由器可用的Cast接收器(Cast设备)列表。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.getCastSinks()
返回
  • <string[]> sinks: 可用接收器列表。

selectCastSink

选择Cast接收器(Cast设备)作为媒体路由器意图(连接或播放)的接收者。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.selectCastSink(sinkName)
参数
名称类型详情
sinkNamestring目标设备的名称。

startCastTabMirroring

在指定设备上为当前浏览器标签启动标签镜像。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.startCastTabMirroring(sinkName)
参数
名称类型详情
sinkNamestring目标设备的名称。

getCastIssueMessage

如果Cast会话中存在任何问题,则返回错误消息。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.getCastIssueMessage()
返回
  • <String> message: 错误消息(如果有)。

stopCasting

如果已连接,停止从媒体路由器到指定设备的投射。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.stopCasting(sinkName)
参数
名称类型详情
sinkNamestring目标设备的名称。

shutdown

关闭ChromeDriver进程,从而终止所有活动会话。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.shutdown()

takeElementScreenshot

Take Element Screenshot命令拍摄元素边界矩形所包围的可见区域的屏幕截图。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.takeElementScreenshot(elementId, scroll)
参数
名称类型详情
elementIdString在之前调用Find Element(s)时返回的元素ID
scroll
可选
boolean将元素滚动到视图中。默认:true
返回
  • <String> screenshot: Base64编码的PNG图像数据,包含元素边界矩形的可见区域的屏幕截图,在将其滚动到视图中之后。

getLogTypes

获取可用的日志类型。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.getLogTypes()
返回
  • <String[]> logTypes: 可用日志类型的列表,例如:browser、driver。

getLogs

获取给定日志类型的日志。每次请求后日志缓冲区会被重置。

非官方且未记录的Chromium命令。关于此命令的更多信息可以在这里找到。

用法
browser.getLogs(type)
参数
名称类型详情
typestring日志类型
返回
  • <Object[]> logs: 日志条目列表。

Welcome! How can I help?

WebdriverIO AI Copilot