我使用webdriver.io使用节点脚本打开浏览器实例。浏览器打开但忽略了desiredCapabilities
对象中定义的一些选项。这是我现在的配置:
const path = require('path');
const webdriver = require('webdriverio');
const INIT_URL = 'http://www.google.ca';
const options = {
desiredCapabilities: {
browserName: 'chrome',
applicationCacheEnabled: false,
chromeOptions: {
args: [
'disable-web-security',
'allow-running-insecure-content',
'auto-open-devtools-for-tabs',
'user-data-dir=/Users/david/Library/Application\ Support/Google/Chrome/Profile\ 2'
]
}
}
};
const browser = webdriver
.remote(options)
.init()
.url(INIT_URL);
除了user-data-dir
之外,所有选项似乎都有效。浏览器实例打开但未使用提供的配置文件。
有没有办法使用Webdriver.io(NodeJS)配置Selenium以选择实际有效的特定浏览器配置文件?
来自@FlorentB。建议我尝试过双引号和双反斜杠,但没有成功:
'user-data-dir="/Users/david/Library/Application\ Support/Google/Chrome/Profile\ 2"'
'user-data-dir=/Users/david/Library/Application\\ Support/Google/Chrome/Profile\\ 2'
但我也注意到,当我看到Selenium打开Chrome实例的可用配置文件时,列表为空:
但是,当我打开Chrome的正常实例(手动,没有Selenium)时,我确实看到了我的两个可用配置文件:
答案 0 :(得分:2)
在我公司的帮助下,我找到了自己问题的解决方案。我必须将属性An error occurred: No X11 DISPLAY variable was set, but this program performed an operation which requires it.
和user-data-dir
合并为:
profile-directory