WebdriverIO如何实现在已打开的浏览器中运行Selenium脚本
WebdriverIO连接已打开Chrome浏览器实现方案
可以实现,配置逻辑和原生Webdriver一致,通过debuggerAddress参数指定Chrome的远程调试地址即可,具体操作步骤如下:
步骤1:启动带远程调试端口的Chrome
先关闭所有已打开的Chrome进程,然后通过命令行启动Chrome并开启调试端口:
- Windows系统:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=1234 - Mac系统:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=1234 - Linux系统:
google-chrome --remote-debugging-port=1234
如果不想关闭现有Chrome进程,可以额外加--user-data-dir=/tmp/chrome_debug_profile参数指定独立的用户数据目录,避免进程冲突。
步骤2:配置WebdriverIO参数
打开你的WebdriverIO配置文件(默认是wdio.conf.js),找到capabilities配置项,添加debuggerAddress参数:
exports.config = { // 其他原有配置保持不变 capabilities: [{ browserName: 'chrome', 'goog:chromeOptions': { // 此处端口和第一步启动Chrome时设置的端口保持一致 debuggerAddress: 'localhost:1234' } }] }
注意事项
- 执行自动化脚本时,第一步手动启动的Chrome不要关闭,WebdriverIO会直接复用该浏览器实例运行用例
- 无需额外配置ChromeDriver启动参数,WebdriverIO会自动适配调试端口的连接逻辑
- 复用浏览器时不会自动清空缓存、Cookie,会保留手动打开浏览器时的所有登录状态和页面数据
内容的提问来源于stack exchange,提问作者ace
相关产品推荐
相关产品推荐

