2016-11-04 93 views
1

我正在做一個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

此外,早期所有的硒步驟已成功與此鉻驅動程序和相同的硒版本。。不知道爲什麼現在發生這種事!請幫忙。

回答

2

安裝在您的Windows系統中的Google Chrome可能已經自動更新。
您可以從chrome驅動程序網站下載最新的驅動程序。

+0

從[here](http://www.seleniumhq.org/download/)下載了最新的chrome驅動程序。現在它正在工作。 –