Robot Framework默认Chrome模式及配置报错问题求助
Chrome WebDriver加载默认配置文件报错及扩展不显示问题解决
问题说明
使用Chrome WebDriver+Robot Framework时,未开启无头/隐身模式,尝试添加“Windows accounts”扩展保存登录凭据,手动添加有效但RIDE运行时扩展不显示;尝试加载Chrome默认配置文件,浏览器虽加载了配置但报错WebDriverException: unknown error: DevToolsActivePort file doesn't exist。
解决方案
1. 先关闭所有Chrome进程
手动打开的Chrome会占用默认配置文件,导致WebDriver无法获取DevTools端口。运行脚本前,关闭所有Chrome窗口,包括后台的chrome.exe进程(任务管理器里结束)。
2. 修正--user-data-dir参数
原代码里的转义符多余,且路径不应指定到Default子目录,正确写法:
Call Method ${options} add_argument --user-data-dir=/Users/myUserName/AppData/Local/Google/Chrome/User Data
WebDriver会自动加载该目录下的默认配置文件,指定到Default反而会引发加载异常。
3. 添加必要的启动参数
补充参数避免端口冲突和初始化问题:
Call Method ${options} add_argument --no-first-run Call Method ${options} add_argument --no-default-browser-check Call Method ${options} add_argument --remote-debugging-port=9222
--remote-debugging-port指定固定调试端口,解决DevTools端口无法获取的问题。
4. 可选:直接加载扩展文件
不想依赖默认配置的话,可直接指定扩展CRX文件路径加载:
- 找到“Windows accounts”扩展的CRX文件(手动安装后在Chrome扩展目录
/Users/myUserName/AppData/Local/Google/Chrome/User Data/Default/Extensions/[扩展ID]/[版本号]/,可打包成CRX或从应用商店下载) - 在脚本中添加:
Call Method ${options} add_extension /path/to/windows_accounts_extension.crx
修正后的完整脚本示例
Open Chrome Using Create WebDriver Keyword [Tags] test ${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver Call Method ${options} add_argument --allow-running-insecure-content Call Method ${options} add_argument --disable-web-security Call Method ${options} add_argument --user-data-dir=/Users/myUserName/AppData/Local/Google/Chrome/User Data Call Method ${options} add_argument --no-first-run Call Method ${options} add_argument --no-default-browser-check Call Method ${options} add_argument --remote-debugging-port=9222 Create WebDriver Chrome chrome_options=${options} Go To https://stackoverflow.com
内容的提问来源于stack exchange,提问作者Harman
相关产品推荐
相关产品推荐

