Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nddipiazza/9c1eb6ca91b667f53d6998fd475b67f3 to your computer and use it in GitHub Desktop.
Save nddipiazza/9c1eb6ca91b667f53d6998fd475b67f3 to your computer and use it in GitHub Desktop.
GeckoDriverService + Selenium RemoteDriver + Firefox Marionette - Not timing out
package com.mozilla.example;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.GeckoDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.service.DriverService;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
public class RemoteToGeckoServerHeadlessFirefoxSeleniumExample {
public static void main(String[] args) throws IOException {
DriverService driverService = new GeckoDriverService.Builder()
.usingDriverExecutable(new File("/home/ndipiazza/Desktop/geckodriver"))
.build();
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
FirefoxOptions options = new FirefoxOptions();
FirefoxProfile firefoxProfile = new FirefoxProfile();
options.setProfile(firefoxProfile);
capabilities.setCapability(FirefoxOptions.FIREFOX_OPTIONS, options);
driverService.start();
RemoteWebDriver driver = new RemoteWebDriver(driverService.getUrl(), capabilities);
driver.manage().timeouts().setScriptTimeout(1, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
try {
driver.get("http://localhost:8000/javascript_timeout.html");
new WebDriverWait(driver, 1, 1).until(wd -> ((JavascriptExecutor) wd).executeScript(
"return document.readyState").equals("complete"));
System.out.println(driver.getPageSource());
} finally {
driver.quit();
driverService.stop();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment