当前位置: 首页 > 面试题库 >

java.net.ConnectException:在Windows 10上使用IEDriverServer和IE 11无法通过Selenium 3.11.0连接到本地主机错误

鲁霄
2023-03-14
问题内容

我对selenium很陌生,因此开始尝试在笔记本电脑中设置selenium。我无法从我的简单代码中调用IE。详细信息如下。您能帮我了解问题出在哪里吗

IE版本:IE 11,IE驱动程序:64位,操作系统:Windows 10 64位,selenium版本:3.11

错误:

Started InternetExplorerDriver server (64-bit)

3.9.0.0

Listening on port 29313

Only local connections are allowed

Exception in thread "main" org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:29313

Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:08.638Z'

System info: host: 'DESKTOP-B1D1PSJ', ip: '192.168.79.96', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'

Driver info: driver.version: InternetExplorerDriver

    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92)

    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)

    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:209)

    at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:223)

    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:215)

    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:152)

    at testing.Tryselenium.main(Tryselenium.java:31)

Caused by: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:29313

    at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:240)

    at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:158)

    at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:256)

    at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:134)

    at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:113)

    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)

    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)

    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)

    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)

    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)

    at okhttp3.RealCall.execute(RealCall.java:77)

    at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:101)

    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)

    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)

    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)

    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

    ... 6 more

Caused by: java.net.ConnectException: Connection refused: connect

    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)

    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)

    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)

    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)

    at java.net.PlainSocketImpl.connect(Unknown Source)

    at java.net.SocksSocketImpl.connect(Unknown Source)

    at java.net.Socket.connect(Unknown Source)

    at okhttp3.internal.platform.Platform.connectSocket(Platform.java:125)

    at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:238)

码:

mport java.util.Arrays;

import java.util.List;

import java.util.concurrent.TimeUnit;



import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.chrome.ChromeOptions;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.ie.InternetExplorerDriver;

import org.openqa.selenium.remote.DesiredCapabilities;



public class Tryselenium {

      public static void main(String[] args) {

        // TODO Auto-generated method stub



          WebDriver web;

          /*System.setProperty("webdriver.chrome.driver","C:\\Users\\Divakar\\Documents\\General\\Learnings\\Selenium\\Others\\Set Up files\\Browser Drivers\\" + "chromedriver_x32.exe");

          ChromeOptions chromeOptions = new ChromeOptions();

            chromeOptions.setExperimentalOption("excludeSwitches",Arrays.asList("test-type"));

            web = new ChromeDriver(chromeOptions);

            web.manage().window().maximize();

            web.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS);*/



          System.setProperty("webdriver.ie.driver","E:\\General\\Learnings\\Selenium\\Others\\Set Up files\\Browser Drivers\\" + "IEDriverServer.exe");

            DesiredCapabilities capab = DesiredCapabilities.internetExplorer();

            capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

            web = new InternetExplorerDriver();

            web.manage().window().maximize();

            web.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS);



            /*FirefoxDriver web = new FirefoxDriver();

            web = new FirefoxDriver();

            web.manage().window().maximize();

            web.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS);*/



        web.get("http://www.icicibank.com/");

        web.findElement(By.xpath("/html/body/div[1]/div[1]/div[1]/div/a[1]")).click();

        web.findElement(By.xpath("/html/body/div[1]/div[1]/div[1]/div/div[3]/div/ul[1]/li[1]/a")).click();

        web.findElement(By.xpath("/html/body/div[1]/div[2]/div[2]/div/div[1]/div/div[3]/a")).click();

        web.findElement(By.name("AuthenticationFG.USER_PRINCIPAL")).sendKeys("507133118");

        web.findElement(By.name("AuthenticationFG.ACCESS_CODE")).sendKeys("Soft2008");

        web.findElement(By.name("Action.VALIDATE_CREDENTIALS")).click();

        web.findElement(By.id("ContentLink1")).click();





        WebElement accttable =  web.findElement(By.xpath("/html/body/form/div/div[3]/div[1]/div[4]/div[2]/div/div/div[5]/div/div/div/div/div/div/div"));

        List<WebElement> all_rows =  accttable.findElements(By.tagName("tr"));



        int j = 0;

        for (int i = 0; i < all_rows.size(); i++) {

            List<WebElement> rowAllCells = all_rows.get(i).findElements(By.tagName("td"));

            if(rowAllCells.size()>1)

            {



                String acctno=rowAllCells.get(2).getText();

                if(rowAllCells.get(2).getText().trim().equalsIgnoreCase("602605049934"))

                {

                    web.findElement(By.id("AccountSummaryFG.SELECTED_INDEX")).click(); ///html/body/form/div/div[3]/div[1]/div[4]/div[2]/div/div/div[5]/div/div/div/div/div/div/div/table/tbody/tr[4]/td[1]/input

                    web.findElement(By.id("HREF_actNicNameOutput[" + j + "]")).click();

                    web.findElement(By.id("backBtn")).click();

                    web.findElement(By.id("VIEW_MINI_STATEMENT")).click();

                    web.findElement(By.id("HREF_Logout")).click();

                    web.close();

                }

                else                j = j + 1;

            }

        }







      }

    }

问题答案:

错误说明了一切:

3.9.0.0
Exception in thread "main" org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:29313
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:08.638Z'
System info: host: 'DESKTOP-B1D1PSJ', ip: '192.168.79.96', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: driver.version: InternetExplorerDriver

从错误堆栈跟踪中可以明显看出,新 会话 没有启动,并且 driver.version 也没有被识别。

您的主要问题是所使用的二进制文件之间的 版本兼容性 ,如下所示:

  • 您正在使用 Selenium Client v3.11.0
  • 您正在使用 IEDriverServer v3.9.0.0
  • 您正在使用 InternetExplorer v11.0 (根据您的问题)

因此, Selenium Client v3.11.0IEDriverServer v3.9.0.0 之间显然不匹配。

  • 升级 IEDriverServerv3.11.1
  • 清理 你的 项目工作 ,通过你的 IDE重建 仅需要依赖你的项目。
  • 在执行 测试套件 之前和之后,使用 CCleaner 工具清除所有操作系统琐事。 __
  • 如果您的基本 Web浏览器 基本版本太旧,请通过 Revo Uninstaller 卸载它,并安装最新的GA和 Web浏览器的 发行版本。
  • 执行您的@Test

其他注意事项

  • 您正在使用 INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true 违反最佳做法的标志。不要这样


 类似资料:
  • 问题内容: 嗨,我有这个奇怪的问题。我无法在Mac上使用chromedriver运行测试。我在这里搜寻了每个可能的角落,似乎没有任何帮助。我的浏览器已启动,但在调用之前冻结。 我的环境:MacOS High Sierra,截至2018年3月12日的最新chromedriver,最新的selenium3.10,最新的TestNG 6.14 我的代码: 我得到的异常是: [RemoteTestNG]检

  • 我试图使用Spring Boot启动社交Facebook连接到Facebook和打印我的个人资料名称,但我不明白为什么它失败了。 FacebookController。JAVA /connect/facebookConnect。html 然后在developer.facebook.com,我这样配置我的应用程序 我还在applicationProperties中设置了appid和appsecret

  • 试图连接一个简单的JMX监控。托管应用程序和监控工具位于同一台服务器上。当试图连接一个错误 00:30:55610致命http-8080-6 SiteListener:makeJmxConnection:99-java.io。IOException:检索RMIServer存根失败:javax.naming。ServiceUnavailableException[根异常为java.rmi.Conne

  • 问题内容: 我正在尝试使用PyMySQL连接到本地主机上的MySQL: 但是(在Python 2.7和Python 3.2上)我得到了错误: socket.error:[Errno 111]连接被拒绝 pymysql.err.OperationalError:(2003年,“无法连接到’localhost’(111)上的MySQL服务器”) 我确定mysqld正在运行,因为我可以使用command

  • 我想通过ssh隧道与具有localhost访问权限的用户连接到远程MySQL。 我用这个做隧道: 和这个连接到主机: 我得到的错误是: 问题是用户“user”@“remote-host”(或“user”@“%”)不存在,只有“user”@“localhost”存在。 有没有办法强迫远程主机在不进行服务器端修改的情况下认为我来自本地主机?这是我通过ssh隧道进行连接的唯一原因。 注: 如果要连接此命

  • 我创建了一个开放到端口8080:80的nginx容器,这样我就可以从主机访问它。 它连接到具有开放端口9000:9000的php fpm容器 nginx成功运行PHP。 我的问题是php试图访问localhost:8080但问题是phplocalhost:8080无效,它需要连接到nginx容器。 以下是我的wordpress网站上的错误:你可以看到有些东西很时髦。。。下面我将附加docker-c