web-dev-qa-db-ja.com

新しいリモートセッションを作成できません

この問題を解決する方法。以前、私のコードは機能していましたが、IE設定は誰かによってリセットされました。今、私はこの例外を受け取っています。

Started InternetExplorerDriver server (32-bit)
2.53.1.0
Listening on port 16183
Only local connections are allowed
Oct 21, 2016 10:14:12 AM org.openqa.Selenium.remote.ProtocolHandshake createSession
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
Oct 21, 2016 10:14:12 AM org.openqa.Selenium.remote.ProtocolHandshake createSession
INFO: Falling back to straight W3C remote end connection
Oct 21, 2016 10:14:12 AM org.openqa.Selenium.remote.ProtocolHandshake createSession
INFO: Falling back to original OSS JSON Wire Protocol.
Exception in thread "main" org.openqa.Selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{ensureCleanSession=true, browserName=internet Explorer, version=, platform=WINDOWS}], required capabilities = null
Build info: version: 'unknown', revision: '3169782', time: '2016-09-29 10:24:50 -0700'
System info: Host: 'BWT12654001', ip: '10.52.132.157', os.name: 'Windows Server 2008 R2', os.Arch: 'AMD64', os.version: '6.1', Java.version: '1.8.0_101'
Driver info: driver.version: InternetExplorerDriver
    at org.openqa.Selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.Java:80)
    at org.openqa.Selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.Java:141)
    at org.openqa.Selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.Java:82)
    at org.openqa.Selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.Java:602)
    at org.openqa.Selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.Java:242)
    at org.openqa.Selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.Java:228)
    at org.openqa.Selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.Java:180)
    at org.openqa.Selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.Java:172)
    at org.openqa.Selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.Java:144)
    at mypackage.TestIEBrowser.main(TestIEBrowser.Java:33)
12
Gourav Sinha

これは、必要な機能設定なしでそのまま使用できます。インターネットオプション>>セキュリティに移動して、「すべてのゾーンをデフォルトレベルにリセットし、その後、4つのゾーンすべてで[保護モ​​ードを有効にする]チェックボックスがオンになっていることを確認します。

6
Tester Man

まず、Internet Explorerでデフォルトのズームレベルを確認します。 100%でない場合は、次の手順を実行します。

  • Internet Explorerを開きます。

  • Alt + Xを押して、[インターネットオプション]をクリックします。

  • [詳細設定]タブをクリックします。

  • 「新しいウィンドウとタブのズームレベルをリセットする」にチェックマークを付けます

  • [適用]を押して[OK]をクリックします。

  • Internet Explorerウィンドウを閉じて開き、デフォルトのズームが100%に設定されているかどうかを確認します。

上記の手順を完了したら、コードに次の行を追加します。

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);

ここでプログラムを実行すると、動作するはずです。

それが役立つことを願っています!!

4
Harshil Doshi

この問題は GithubのSeleniumプロジェクト で議論されています

以下は、問題の解決に役立った最も関連性のある情報の引用です。

良いニュースは、IE drivermostlyがIE11で動作するように見えることです。ただし、(a)すべてのセキュリティゾーンは同じ保護モード設定に設定され、(b)拡張保護モードはオフになります。標準レジストリは、IE7-10で保護モード設定をテストするためにIEドライバーが使用することをチェックしますIE11では壊れており、Enhanced Protected Modeの確認を試みたことがないため、これらの設定が適切に設定されていない場合、警告は(まだ)ありません。

悪いニュースは、Cookieの操作が壊れていることです。ひどく。 Cookieを設定または取得しようとすると、以前に発生した「ブラウザを取得できません」エラーが発生する可能性があります。現時点では、回避策はありません。

私は同じ問題を抱えていました(私の場合はFirefox):

 Exception in thread "main" org.openqa.Selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{marionette=true, browserName=firefox, moz:firefoxOptions={binary=Optional.empty, args=[], legacy=null, logLevel=null, prefs={}, profile=null}, version=, platform=ANY}], required capabilities = Capabilities [{moz:firefoxOptions={binary=Optional.empty, args=[], legacy=null, logLevel=null, prefs={}, profile=null}}]

Seleniumドライバー3.3.1の使用:

<dependency>
  <groupId>org.seleniumhq.Selenium</groupId>
  <artifactId>Selenium-Java</artifactId>
  <version>3.3.1</version>
</dependency>

.4 + のような別のバージョンで解決しました。

<dependency>
  <groupId>org.seleniumhq.Selenium</groupId>
  <artifactId>Selenium-Java</artifactId>
  <version>3.4.0</version>
</dependency>
0
invzbl3