跳到主要内容

Chromium

isAlertOpen​

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

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

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

isAutoReporting​

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

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

用法​
browser.isAutoReporting()
返回​
  • <Boolean> isAutoReporting: 根据自动报告是否启用返回true或false。

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: 根据活动窗口句柄是否正在加载返回true或false。

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: 包含offline、latency、download_throughput和upload_throughput网络条件的对象。必须先设置网络条件才能获取。

setNetworkConditions​

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

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

用法​
browser.setNetworkConditions(network_conditions, network_name)
参数​
名称类型详情
network_conditionsobject包含网络条件的对象,这些条件是latency、throughput(或download_throughput/upload_throughput)和offline(可选)。
network_name
可选
string网络节流预设的名称。GPRS、Regular 2G、Good 2G、Regular 3G、Good 3G、Regular 4G、DSL、WiFi或No 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