webentwicklung-frage-antwort-db.com.de

Fehler beim Kommunizieren mit dem Remote-Browser. Es könnte gestorben sein. Selenium-Webtreiber

Hier ist mein Fehlerprotokoll:

Apr 12, 2014 3:27:46 AM org.Apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (Java.net.SocketException) caught when connecting to the target Host: Permission denied: connect
Apr 12, 2014 3:27:46 AM org.Apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
Apr 12, 2014 3:27:46 AM org.Apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (Java.net.SocketException) caught when connecting to the target Host: Permission denied: connect
Apr 12, 2014 3:27:46 AM org.Apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
Apr 12, 2014 3:27:46 AM org.Apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (Java.net.SocketException) caught when connecting to the target Host: Permission denied: connect
Apr 12, 2014 3:27:46 AM org.Apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
org.openqa.Selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:18:15'
System info: Host: 'prgi-PC', ip: '192.168.1.9', os.name: 'Windows 7', os.Arch: 'AMD64', os.version: '6.1', Java.version: '1.7.0_51'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.Selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.Java:589)
    at org.openqa.Selenium.remote.RemoteWebElement.execute(RemoteWebElement.Java:268)
    at org.openqa.Selenium.remote.RemoteWebElement.findElements(RemoteWebElement.Java:187)
    at org.openqa.Selenium.remote.RemoteWebElement.findElementsByTagName(RemoteWebElement.Java:264)
    at org.openqa.Selenium.By$ByTagName.findElements(By.Java:323)
    at org.openqa.Selenium.remote.RemoteWebElement.findElements(RemoteWebElement.Java:163)
    at com.sai.kiran.Test.main(Test.Java:155)
Caused by: Java.net.SocketException: Permission denied: connect
    at Java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at Java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.Java:83)
    at Java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.Java:339)
    at Java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.Java:200)
    at Java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.Java:182)
    at Java.net.PlainSocketImpl.connect(PlainSocketImpl.Java:172)
    at Java.net.SocksSocketImpl.connect(SocksSocketImpl.Java:392)
    at Java.net.Socket.connect(Socket.Java:579)
    at org.Apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.Java:117)
    at org.Apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.Java:178)
    at org.Apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.Java:144)
    at org.Apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.Java:131)
    at org.Apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.Java:610)
    at org.Apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.Java:445)
    at org.Apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.Java:863)
    at org.Apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.Java:72)
    at org.Apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.Java:57)
    at org.openqa.Selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.Java:322)
    at org.openqa.Selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.Java:301)
    at org.openqa.Selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.Java:165)
    at org.openqa.Selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.Java:362)
    at org.openqa.Selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.Java:568)
    ... 6 more

CODE:

FirefoxProfile profile = new FirefoxProfile();

String path="C:\\Users\\prgi\\Downloads\\listShack";
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir", path);

profile.setPreference("browser.download.manager.alertOnEXEOpen", false);

profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/msword,application/csv,text/csv,image/png ,image/jpeg");

profile.setPreference("browser.download.manager.showWhenStarting",
false);

profile.setPreference("browser.download.manager.focusWhenStarting",
false);
//profile.setPreference("browser.download.useDownloadDir",true);
profile.setPreference("browser.helperApps.alwaysAsk.force",
false);

profile.setPreference("browser.download.manager.alertOnEXEOpen", false);

profile.setPreference("browser.download.manager.closeWhenDone", false);

profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.useWindow",
false);

profile.setPreference("browser.download.manager.showWhenStarting",false);

profile.setPreference("services.sync.prefs.sync.browser.download.manager.showWhenStarting",
false);

profile.setPreference("pdfjs.disabled", true);

WebDriver driver = new FirefoxDriver(profile);

und von hier aus verwalte ich meine Elemente ..

anmerkung: Es hat zwei Tage ununterbrochen 24/7 gearbeitet und heute bekomme ich diesen Fehler häufig.

12
saikiran

Problem

Ich hatte das gleiche Problem, InternetExplorerDriver lokal in Windows 7 auszuführen - (IEDriverServer_Win32_2.42.0.Zip)

org.openqa.Selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.

Bei der Überprüfung der laufenden Prozesse unter TaskManager wurden mehrere IEDriverServer.exe-Prozesse ausgeführt, die nicht ordnungsgemäß bereinigt wurden.

Lösung

Beim Ausführen des folgenden Befehls wurden alle laufenden IEDriverServer.exe-Prozesse beendet und dieses Problem (für mich) behoben.

taskkill /F /IM IEDriverServer.exe
10
Nick Grealy

Bei einem Port, der mit einer 1 beginnt und nicht nahe dem Standardportwert 5555, ist dieser Fehler aufgetreten. Das Ändern des Knotenports von 1234 auf 5558 hat das Problem behoben. Nicht sicher, wie Ports funktionieren, aber es scheint, dass 1234 instabil war

0
Alex McCabe

Ich bin diesen Schritten gefolgt und das Problem wurde behoben:

  1. holen Sie sich den Firefox-Profilnamen 

    • versuchen Sie diesen Befehl im Ausführungsfenster firefox.exe -P oder firefox.exe -P oder firefox.exe -profilemanager

Einer der obigen Befehle öffnet sich und zeigt den Namen des Default-Profils an, das normalerweise "default" ist.

  1. Verwenden Sie den unten angegebenen Code, um den Firefox-Treiber zu erhalten

    ProfilesIni allProfiles = new ProfilesIni();
    FirefoxProfile myProfile = allProfiles.getProfile("default");
    myProfile.setAcceptUntrustedCertificates(true);
    myProfile.setAssumeUntrustedCertificateIssuer(true);
    driver = new FirefoxDriver(myProfile);