繁体   English   中英

无法在没有UI的框中以Java启动selenium.WebDriver firefox

[英]cannot start selenium.WebDriver firefox in java in a box with no UI

我有类似的东西:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

class Gecko { 


...
FirefoxBinary ffB = new FirefoxBinary();
ffB.setEnvironmentProperty("DISPLAY", ":10");
...
options.setBinary(ffB);
WebDriver driver = new FirefoxDriver(options);

然后,我使用以下命令启动虚拟帧缓冲区:

Xvfb :10 -screen 0 1024x768x24 &

但是当我使用Selenium时:

java -cp .:selenium-server-standalone-3.5.0.jar Gecko

以下问题显示:

1508364524466 geckodriver :: marionette INFO使用args [“ -marionette”]启动浏览器/ usr / bin / firefox
错误: GDK_BACKEND与可用的显示不匹配
线程“主” org.openqa.selenium.WebDriverException中的异常:连接被拒绝

可能是哪个原因造成的? 用户权限? 防火墙? 当前框未安装任何桌面环境。

如果显示错误:GDK_BACKEND与可用的显示不匹配,则安装pyvirtualdisplay:

pip install pyvirtualdisplay selenium
You might need xvfb too:

sudo apt-get install xvfb
Then try adding this code:

from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
Full example:

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.Firefox()
browser.get('http://www.python.org')

browser.close()
display.stop()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM