试图让硒测试与ChromeHeadless一起工作(我们目前正在使用远程硒网络驱动程序,它工作正常,但速度很慢)。ChromeDriver用以下方式实例化:
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setBinary("/usr/bin/google-chrome");
chromeOptions.addArguments("--headless", "--window-size=1920x1080");
chromeOptions.setHeadless(true);
Map<String, Object> prefs = new HashMap<>();
prefs.put("credentials_enable_service", false);
prefs.put("password_manager_enabled", false);
chromeOptions.setExperimentalOption("prefs", prefs);
System.setProperty("webdriver.chrome.verboseLogging", "true");
dr = new ChromeDriver(chromeOptions);
(我只用setHeadless和--headless作为参数都试过了,我想我应该加倍确定,所以代码目前包含了这两个参数)。日志显示:
Starting ChromeDriver (v2.9.248304) on port 1848
[0.705][INFO]: COMMAND InitSession {
"capabilities": {
"desiredCapabilities": {
"browserName": "chrome",
"goog:chromeOptions": {
"args": [ "--headless", "--disable-gpu", "--window-size=1920x1080" ],
"binary": "/usr/bin/google-chrome",
"extensions": [ ],
"prefs": {
"credentials_enable_service": false,
"password_manager_enabled": false
}
}
},
"firstMatch": [ {
"browserName": "chrome",
"goog:chromeOptions": {
"args": [ "--headless", "--disable-gpu", "--window-size=1920x1080" ],
"binary": "/usr/bin/google-chrome",
"extensions": [ ],
"prefs": {
"credentials_enable_service": false,
"password_manager_enabled": false
}
}
} ]
},
"desiredCapabilities": {
"browserName": "chrome",
"goog:chromeOptions": {
"args": [ "--headless", "--disable-gpu", "--window-size=1920x1080" ],
"binary": "/usr/bin/google-chrome",
"extensions": [ ],
"prefs": {
"credentials_enable_service": false,
"password_manager_enabled": false
}
}
}
}
[0.708][INFO]: Populating Preferences file: {
"alternate_error_pages": {
"enabled": false
},
"autofill": {
"enabled": false
},
"browser": {
"check_default_browser": false
},
"distribution": {
"import_bookmarks": false,
"import_history": false,
"import_search_engine": false,
"make_chrome_default_for_user": false,
"show_welcome_page": false,
"skip_first_run_ui": true
},
"dns_prefetching": {
"enabled": false
},
"profile": {
"content_settings": {
"pattern_pairs": {
"https://*,*": {
"media-stream": {
"audio": "Default",
"video": "Default"
}
}
}
},
"default_content_settings": {
"geolocation": 1,
"mouselock": 1,
"notifications": 1,
"popups": 1,
"ppapi-broker": 1
},
"password_manager_enabled": false
},
"safebrowsing": {
"enabled": false
},
"search": {
"suggest_enabled": false
},
"translate": {
"enabled": false
}
}
[0.708][INFO]: Populating Local State file: {
"background_mode": {
"enabled": false
},
"ssl": {
"rev_checking": {
"enabled": false
}
}
}
[0.712][INFO]: Launching chrome: /opt/google/chrome/google-chrome --disable-background-networking --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-hang-monitor --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --full-memory-crash-report --ignore-certificate-errors --load-extension=/tmp/.com.google.Chrome.ZsjTh0/internal --logging-level=1 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12771 --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --use-mock-keychain --user-data-dir=/tmp/.com.google.Chrome.lVGXx8 data:,
[0.714][DEBUG]: DevTools request: http://127.0.0.1:12771/json/version
[0.732][WARNING]: PAC support disabled because there is no system implementation
[1.457][DEBUG]: DevTools request failed
[1.507][DEBUG]: DevTools request: http://127.0.0.1:12771/json/version
[1.514][DEBUG]: DevTools request failed
[1.564][DEBUG]: DevTools request: http://127.0.0.1:12771/json/version
[1.569][DEBUG]: DevTools request failed
[1.620][DEBUG]: DevTools request: http://127.0.0.1:12771/json/version
[1.624][DEBUG]: DevTools request failed
[1.674][DEBUG]: DevTools request: http://127.0.0.1:12771/json/version
[1.678][DEBUG]: DevTools request failed
[1.728][DEBUG]: DevTools request: http://127.0.0.1:12771/json/version
[1.732][DEBUG]: DevTools request failed
[1.782][DEBUG]: DevTools request: http://127.0.0.1:12771/json/version
[1.786][DEBUG]: DevTools request failed
(google-chrome:1887): Gtk-WARNING **: cannot open display:
还有一个“DevTools”请求:http://127.0.0.1:12771/json/version,DevTools请求失败”行(成百上千)。
我试过使用Selenium 3.7.1,然后尝试更新到Selenium 3.12.0,输出没有变化。
安装了Chrome(版本66.0.3359.181),ChromeDriver(v2.9.248304)也是如此,整件事都在Centos 7盒子上工作,没有窗口管理器。虽然ChromeDriver似乎是启动Chrome的命令行从命令行失败:
$ /opt/google/chrome/google-chrome --disable-background-networking --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-hang-monitor --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --full-memory-crash-report --ignore-certificate-errors --load-extension=/tmp/.com.google.Chrome.ZsjTh0/internal --logging-level=1 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12771 --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --use-mock-keychain --user-data-dir=/tmp/.com.google.Chrome.lVGXx8 data:,
(google-chrome:3346): Gtk-WARNING **: cannot open display:
如果我在行中添加--head less,它就成功了。
$ /opt/google/chrome/google-chrome --headless --disable-background-networking --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-hang-monitor --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --full-memory-crash-report --ignore-certificate-errors --load-extension=/tmp/.com.google.Chrome.ZsjTh0/internal --logging-level=1 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12771 --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --use-mock-keychain --user-data-dir=/tmp/.com.google.Chrome.lVGXx8 data:,
[0529/154351.972190:ERROR:gpu_process_transport_factory.cc(1007)] Lost UI shared context.
DevTools listening on ws://127.0.0.1:12771/devtools/browser/a008b11c-d1c3-4c56-ba28-7f221eed4507
Fontconfig warning: "/etc/fonts/fonts.conf", line 146: blank doesn't take any effect anymore. please remove it from your fonts.conf
此设置在我的Windows box上运行良好(但在我的Windows box上启动Chrome请求时确实包含--headless参数)。我不确定为什么ChromeDriver在启动时没有向chrome进程传递任何chromeOptions(--headless、--disable gpu或--window=1920x1024)。
任何帮助都将不胜感激...
你的代码块几乎完美无瑕。有几件事:
>
如果查看setHeadless()
的源代码,--head less
标志已经实现。因此显式地设置addArguments("--head less")
会产生开销。您可以删除参数。
def set_headless(self, headless=True):
"""
Sets the headless argument
Args:
headless: boolean value indicating to set the headless option
"""
args = {'--headless', '--disable-gpu'}
if headless:
self._arguments.extend(args)
else:
self._arguments = list(set(self._arguments) - args)
然而,您的主要问题是您使用的二进制版本之间的不兼容性,如下所示:
>
chromeDrive=2.9的发行说明明确提到了以下内容:
支持Chromev31-34
您使用的是chrome=66.0
ChromeDriver v2的发行说明。38明确提到以下内容:
支持Chromev65-67
所以ChromeDriver v2之间存在明显的不匹配。9和Chrome浏览器v66。0
@测试
我正在使用Selenium Web驱动程序,同时使用Chrome和HTMLUnit。对于Chrome,下面的代码可以工作,但HTMLUnit返回一个错误,表示找不到元素。 最后一行将返回null,未找到任何元素。使用的XPath是: 与Chrome配合使用,在XPath与HTMLUnit配合使用时失败。知道吗? 使用的驱动程序如下所示:
问候flutter开发人员正在开发一个应用程序,iOS和Android使用手机身份验证用户一切正常iOS但Android当这一行被称为我得到一个错误: 错误: E/flutter(14190):[ERROR: flutter/shell/通用/shell.cc(184)]Dart错误:未处理的异常: E/flutter(14190): PlatformExc0019(错误,空引用,空)E/flut
我对Android Studio有意见。 任务:应用程序:ProcessDebugResources失败AGPBI:{“kind”:“error”,“text”:“Android资源链接失败”,“sources”:[{“file”:“/users/luisabsg/.gradle/caches/transforms-2/files-2.1/270e51d2bcfda0833b0b336f50197
我一直在运行一个webserver和Coldfusion直到我升级到Mountain Lion,然后它就停止工作了。我让它再次工作了,把所有的东西重新打开,升级禁用了,但现在我已经升级到小牛,没有任何工作。我已经遵循了所有的步骤在各种web文章,但它不会工作。PHP被启用了,之前启用的所有东西都被设置好了,包括虚拟主机,所有的文件夹都在同一个地方。 我得到的错误是:Firefox无法在127.0.
在windows上使用netbeans已经很久了,没有问题。在Debian上安装了它,它启动了,但大多数按钮没有响应(新项目/新文件...)。 这是使用终端发射时的结果。 Netbeans版本:8.2 OS:Parrot(debian OS的发行版)JDK版本:9.0.1 提前道谢。
问题内容: 我想用一个非常简单的单节点群集启动Cassandra,但是我做不到。 我按照在 https://www.digitalocean.com/community/tutorials/how-to-install-cassandra- and-run-a-single-node-cluster-on-a-ubuntu- vps 基本上, 在VirtualBox上构建了一个新的CentOS 7