Требуется ли установить ДИСПЛЕЙ для безголового браузера Firefox на Linux-машине?
Я хочу запустить безголовый браузер, и ниже приведен код для того же. Однако, когда я запустил его. он показывает "Ошибка: не указана переменная окружения DISPLAY"
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();
}
Однако, когда я устанавливаю дисплей, он показывает невозможность открыть Firefox на DISPLAY:99
Также я попытался установить xvfb. Но это также не сработало.
Поскольку я использую драйвер gekco здесь, мне нужно сделать еще несколько конфигураций.
1 ответ
Я думаю, что вы должны предоставить DesiredCapabilities
объект в качестве параметра для FirefoxDriver
конструктор:
Рекомендации
- Javadoc для
FirefoxDriver
, - Какая польза от DesiredCapabilities в Selenium WebDriver?