当我尝试在无头模式下打开Firefox时,我得到了以下错误:
Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port
7055; process output follows:
(process:27527): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Xlib: extension "RANDR" missing on display ":1".
(firefox:27527): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Failed to connect to socket /tmp/dbus-VBJDTHN8W2: Connection refused
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:03:00'
System info: host: 'cpro22808', ip: '176.153.5.11', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-32-generic', java.version:
'1.7.0_55'
Driver info: driver.version: FirefoxDriver我使用的是Ubuntu14.04,Firefox33,Selenium 2.44,Tomcat7,Xvfb.
我这样启动Xvfb:
Xvfb :1 -ac -screen 0 1024x768x24我的java代码:
String Xport = System.getProperty("lmportal.xvfb.id", ":1");
FirefoxBinary firefoxBinary = new FirefoxBinary();
firefoxBinary.setEnvironmentProperty("DISPLAY", Xport);
webDriver = new FirefoxDriver(firefoxBinary, null);我在这上面花了几天时间,尝试了很多东西,但都没有解决问题。有人能帮我吗?
发布于 2016-07-13 23:19:03
我也面临着同样的问题。这就是我所做的,问题已经解决了。
/var/lib/dbus/machine-id。它将在其one.export $(dbus-launch)和export NSS_USE_SHARED_DB=ENABLED上重新创建一个正确的。设置这些环境变量,然后重新运行。在我的案例中,这个问题已经消失了。
发布于 2017-12-29 22:20:59
这是一个很好的解决方案,但最后我发现了另一个不需要启动dbus的选择。您可以使用-Dwebdriver.firefox.logfile=/dev/null系统属性禁用geckodriver的日志记录。
奇怪的是,我可以从命令行传递它,但我必须在实例化FirefoxDriver之前显式地设置它:
System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE, "/dev/null");
FirefoxDriver driver = new FirefoxDriver(firefoxOptions);缺点是您还会丢失任何其他日志,但我喜欢您不需要运行dbus-daemon这一事实。
https://stackoverflow.com/questions/26620342
复制相似问题