java - Is it required to set the DISPLAY for headless firefox browser on linux machine
问题描述
I want to run the headless browser and below is the code for same. However when i ran it. it shows "Error: no DISPLAY environment variable specified"
try {
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("webdriver.log.driver", "INFO");
profile.setPreference("webdriver.log.file", targetDir + File.separator + "firefoxSeleniumServer.log");
profile.setPreference("browser.download.folderList",2);
profile.setPreference("browser.download.manager.showWhenStarting",false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv;text/plain");
if(platform.equalsIgnoreCase("linux")) {
DesiredCapabilities desiredCap = DesiredCapabilities.firefox();
profile.setPreference("browser.download.dir",System.getProperty("user.dir")+ File.separator + "target");
System.setProperty("webdriver.gecko.driver", "/test/geckodriver/geckodriver");
System.setProperty("webdriver.firefox.bin","/usr/bin/firefox/firefox");
desiredCap.setCapability("headless", true);
driver = new FirefoxDriver();
}
However when i set the display it shows unable to open firefox on DISPLAY:99
Also i tried setting the xvfb as well. But that also did not work.
As i am using gekco driver here, do i need to do some more configurations.
解决方案
我认为您应该将DesiredCapabilities
对象作为参数提供给FirefoxDriver
构造函数:
参考
- 用于
FirefoxDriver
. _ _ - Selenium WebDriver 中的 DesiredCapabilities 有什么用?
推荐阅读
- google-chrome - 从 Zebra ZD421 上的 Chrome 打印
- mysql - MySQL SELECT 行如果不存在或如果存在做条件
- typescript - 通用对象中键的 TypeGuard 函数
- powershell - MailKit - 通过 PowerShell 发送电子邮件
- eclipse - 在 Eclipse 中检查变量
- python - 计数奇偶数功能
- tableau-desktop - 如何使用 Dateparse 函数创建一年到一年的日期范围,即 2020-2021
- sql - 如何在选定的字符串中查找数字?
- python - Python 类变量在使用插槽时会覆盖所有实例变量 - 为什么?
- sql - 使用 PostgreSQL PL/pgSQL 在 For 循环中添加月份