2016-11-04 8 views
1

私は、Webサイトで自動的にタスクを実行するが、エラーを取得するためにセレンのWebドライバを使用するJavaプロジェクトを行っている。 System.setProperty("webdriver.chrome.driver","path to chrome driver");Selenium Webdriver通信エラー

セットが、この方法

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> 

変数初期化されている 'がドライバ' を持って、Google Chromeが開かれました。 Eclipseのデバッグで例外が発生することを示します。driver.get("https://www.google.co.in");

2回で2種類のエラーが発生しました。両方のスタックトレースが以下に示されています。

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ドライバのWebサイトからダウンロードできます。

+0

[here](http://www.seleniumhq.org/download/)から最新のクロムドライバをダウンロードしました。今それは働いている。 –