跳至主要内容

Chromium

isAlertOpen

是否当前打开了简单的对话框。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

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

isAutoReporting

是否应在浏览器日志上自动引发错误。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

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

setAutoReporting

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

用法
browser.setAutoReporting(enabled)
参数
名称类型详情
enabled布尔值如果应启用自动报告,则为 true,使用 false 禁用之前启用的自动报告。
示例
// Enable auto reporting first thing after session was initiated with empty browser logs
console.log(browser.setAutoReporting(true)); // outputs: null
// Upon requesting an non-existing resource it will abort execution due to thrown unknown error
browser.url('https://webdriverio.node.org.cn/img/404-does-not-exist.png');
// During the session do some operations which populate the browser logs
browser.url('https://webdriverio.node.org.cn/img/404-does-not-exist.png');
browser.url('https://webdriverio.node.org.cn/403/no-access');
// Enable auto reporting which throws an unknown error for first browser log (404 response)
browser.setAutoReporting(true);
返回值
  • <对象|空> firstBrowserError: 如果在执行此命令之前已发生第一个浏览器错误,它将抛出未知错误作为响应,该错误是一个包含描述第一个浏览器错误的“message”键的对象。否则,在成功时返回 null

isLoading

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

用法
browser.isLoading()
示例
console.log(browser.isLoading()); // outputs: false
browser.newWindow('https://webdriverio.node.org.cn');
console.log(browser.isLoading()); // outputs: true
返回值
  • <布尔值> isLoading: 根据活动窗口句柄是否正在加载返回 truefalse

takeHeapSnapshot

获取当前执行上下文的堆快照。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

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

getNetworkConnection

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

用法
browser.getNetworkConnection()
示例
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Network emulation requires device mode, which is only enabled when mobile emulation is on
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.getNetworkConnection()); // outputs: 6 (Both Wi-Fi and data)
返回值
  • <数字> connectionType: 用于表示网络连接类型的位掩码。飞行模式 (1)、仅 Wi-Fi (2)、Wi-Fi 和数据 (6)、4G (8)、3G (10)、2G (20)。默认情况下已启用 Wi-Fi 和数据

setNetworkConnection

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

用法
browser.setNetworkConnection(parameters)
参数
名称类型详情
参数对象包含 ConnectionType 的对象,在对象中将位掩码设置为 type 键的值。飞行模式 (1)、仅 Wi-Fi (2)、Wi-Fi 和数据 (6)、4G (8)、3G (10)、2G (20)。
示例
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Network emulation requires device mode, which is only enabled when mobile emulation is on
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.setNetworkConnection({ type: 1 })); // outputs: 1 (Airplane Mode)
返回值
  • <数字> connectionType: 用于表示网络连接类型的位掩码。值应与对象中指定的 type 匹配,但设备可能无法实现请求的网络连接类型。

getNetworkConditions

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

用法
browser.getNetworkConditions()
返回值
  • <对象> networkConditions: 包含 offlinelatencydownload_throughputupload_throughput 网络条件的对象。必须设置网络条件才能检索它。

setNetworkConditions

通过限制连接来设置用于模拟的网络条件。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

用法
browser.setNetworkConditions(network_conditions, network_name)
参数
名称类型详情
network_conditions对象包含网络条件的对象,这些条件为 latencythroughput(或 download_throughput/upload_throughput)和 offline(可选)。
network_name
可选
字符串网络限流预设的名称GPRSRegular 2GGood 2GRegular 3GGood 3GRegular 4GDSLWiFiNo throttling 以禁用。当指定预设时,第一个参数中传递的值将不被尊重。
示例
// Use different download (25kb/s) and upload (50kb/s) throughput values for throttling with a latency of 1000ms
browser.setNetworkConditions({ latency: 1000, download_throughput: 25600, upload_throughput: 51200 });
// Force disconnected from network by setting 'offline' to true
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true });
// When preset name (e.g. 'DSL') is specified it does not respect values in object (e.g. 'offline')
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true }, 'DSL');
// Best practice for specifying network throttling preset is to use an empty object
browser.setNetworkConditions({}, 'Good 3G');

deleteNetworkConditions

禁用可能已设置的任何网络限流。相当于设置 No throttling 预设。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

用法
browser.deleteNetworkConditions()

sendCommand

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

sendCommandAndGetResult

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

file

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

launchChromeApp

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

用法
browser.launchChromeApp(id)
参数
名称类型详情
id字符串要启动的应用的扩展程序 ID,如 chrome://extensions 中所定义。
示例
import fs from 'fs'
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Install upon starting browser in order to launch it
extensions: [
// Entry should be a base64-encoded packed Chrome app (.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)
参数
名称类型详情
elementId字符串要从中获取值的元素的 ID
返回值
  • <String|Null> value: 元素的当前值。如果指定的元素不是表单控件元素,则返回null

elementHover

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

用法
browser.elementHover(elementId)
参数
名称类型详情
elementId字符串要悬停到的元素的 ID

touchPinch

触发捏合缩放效果。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

用法
browser.touchPinch(x, y, scale)
参数
名称类型详情
x数字要捏合的 x 坐标
y数字要捏合的 y 坐标
scale数字捏合缩放比例

freeze

冻结当前页面。 页面生命周期 API的扩展。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

用法
browser.freeze()

resume

恢复当前页面。 页面生命周期 API的扩展。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

用法
browser.resume()

getCastSinks

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

selectCastSink

选择一个投屏接收器(投屏设备)作为媒体路由器意图(连接或播放)的接收方。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

startCastTabMirroring

在指定的设备上启动当前浏览器选项卡的屏幕镜像。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

getCastIssueMessage

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

stopCasting

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

shutdown

关闭 ChromeDriver 进程,并因此终止所有活动会话。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

用法
browser.shutdown()

takeElementScreenshot

截取元素屏幕截图命令会截取元素边界矩形包含的可见区域的屏幕截图。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

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

getLogTypes

获取可用的日志类型。

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参阅此处

用法
browser.getLogTypes()
返回值
  • <String[]> logTypes: 可用日志类型的列表,例如:浏览器、驱动程序。

getLogs

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

非官方且未记录的 Chromium 命令。有关此命令的更多信息,请参见此处

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

欢迎!我如何帮助您?

WebdriverIO AI Copilot