Selenium не работает с Chrome Driver на OSX High Sierra

Я пытаюсь получить простой экзамен Selenium на моем MacBook Pro с помощью драйвера Chrome.

Мой Java-код относительно прост:

package foobar;

import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class Test {
 public static void main (String args[]) throws MalformedURLException {

 WebDriver driver = new RemoteWebDriver(new URL("http://localhost:9515"),DesiredCapabilities.chrome());
 driver.get("http://www.google.com");
 }
}

Я получаю следующую ошибку на консоли Java:

INFO: Detected dialect: OSS
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"E55293B5B5CA0A0B5D8D92156BAC0294","isDefault":true},"id":1,"name":"","origin":"://"}
 (Session info: chrome=65.0.3325.181)
 (Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.13.3 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 149 milliseconds
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'BUBBAs-MacBook-Pro.local', ip: 'fe80:0:0:0:81e:75ee:3428:6a72%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.3', java.version: '1.8.0_151'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=/var/folders/g5/zj52b8jx3yl_699rjb3n5fkh0000gn/T/.org.chromium.Chromium.2Fm0pC}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=65.0.3325.181, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 14133de001c084e2d16c0e7772f60e5d
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:215)
 at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:167)
 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:671)
 at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:364)
 at foorbar.Test.main(Test.java:21)

Я запустил драйвер chrome со своей консоли со следующим выходом

Bubbas-MacBook-Pro:Downloads bubba$ ./chromedriver 
Starting ChromeDriver (v2.9.248307) on port 9515
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleGVA/AppleGVA-11.3.7/Sources/Slices/Driver/AVD_loader.cpp: failed to get a service for display 6

Теперь экземпляр Chrome запускается - см. Снимок экрана ниже, но он имеет "данные:", заполненные в текстовом поле URL.

Мой OSX uname:

Darwin Bubbas-MacBook-Pro.local 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64

Я искал googled, но продолжаю отставать - любая помощь ценится.

ОБНОВЛЕНИЕ:

  1. Я начинаю задаваться вопросом, нужно ли мне разрешить некоторые настройки в области безопасности и безопасности OSX, чтобы Chrome Chrome мог разговаривать с Chrome.
1 ответ

Вы используете старый chromedriver который chromedriver к 2014 году. Для этого вам нужно использовать новейший chromedriver

https://chromedriver.storage.googleapis.com/2.37/chromedriver_mac64.zip

https://chromedriver.storage.googleapis.com/index.html

licensed under cc by-sa 3.0 with attribution.