我正在做一個java項目,它使用硒web驅動程序來自動執行網站中的任務,但得到錯誤。Selenium Webdriver通信錯誤
集System.setProperty("webdriver.chrome.driver","path to chrome driver");
讓這個方法
public boolean openBrowserAndLoadUrl(String url) {
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions","--start-maximized");
WebDriver driver = new ChromeDriver(options);
if(driver==null)
return false;
driver.get("https://www.google.co.in");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return true;
}
的pom.xml
<org.seleniumhq-version>2.53.1</org.seleniumhq-version>
<!-- Selenium -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>${org.seleniumhq-version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>htmlunit-driver</artifactId>
<version>2.23</version>
</dependency>
的 '司機' 變量初始化和谷歌Chrome打開。 Eclipse調試顯示此處發生異常driver.get("https://www.google.co.in");
在兩次中出現了兩種類型的錯誤!兩個堆棧跟蹤如下所示。
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09' System info: host: 'fms-dev', ip: '192.168.1.56', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_101'
Driver info: driver.version: RemoteWebDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=C:\Users\fms\AppData\Local\Temp\scoped_dir3000_27723}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=54.0.2840.71, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: 05d03919d730cf29cb2267aba8f0de45 at
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665) at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:316)
後來我得到這個錯誤
org.openqa.selenium.WebDriverException: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"4492.1","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=54.0.2840.71) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 39 milliseconds Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09' System info: host: 'dev-pc', ip: '192.168.1.56', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_101' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=C:\Users\dev\AppData\Local\Temp\scoped_dir960_31279}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=54.0.2840.71, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: a1f32c762f3525f55845afd4ab824af5 at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:316)
在進一步的研究,我明白了許多有這個問題,但我沒有得到,除了不兼容的版本問題的任何解決方案。但我正在使用下載的chromedriver.exe
此外,早期所有的硒步驟已成功與此鉻驅動程序和相同的硒版本。。不知道爲什麼現在發生這種事!請幫忙。
從[here](http://www.seleniumhq.org/download/)下載了最新的chrome驅動程序。現在它正在工作。 –