Я пытаюсь запустить веб-скребок, используя Selenium Chrome Webdriver в режиме без головы.Работает на машине с Windows 7 Professional SP1, все работает нормально.На компьютере под управлением Windows Server 2008 R2 Standard SP1 он останавливается, пытаясь получить первую веб-страницу.
public static void main ()
{
try
{
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--disable-gnu");
options.addArguments("--no-sandbox");
options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
options.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
WebDriver driver = new ChromeDriver(options);
Thread.sleep(2000); // allow everything time to complete
System.out.println("driver loaded");
driver.get("https://www.someSite.org/login");
String page = driver.getPageSource ();
System.out.println("page=\n" + page);
...
}
catch (Exception e)
{
System.out.println("Exception : " + e.getMessage());
}
}
При работе под Windows Server 2008 содержимое страницы не отображается и приложение зависает.Как ни странно, если первый экземпляр chrome.exe был уничтожен с помощью диспетчера задач, отображается содержимое веб-страницы, а затем «Исключение: SocketError и т. Д.».
Обе платформы используют jre1.8.0_144, selenium-server-standalone-3.13.0.jar и chromedriver_win32 версия 2.42.Используйте тот же веб-сервер.
Я пропустил какой-то жизненно важный параметр или возможность?