退出无效的端口:chrome驱动程序错误salenium

时间:2018-06-13 17:37:15

标签: java selenium selenium-webdriver selenium-chromedriver

Source code:

package Labarary;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;


public class LAb {

    public static void main(String[] args) {
        System.out.println("chrome");
        System.setProperty("webdriver.chrome.driver","C:\\Users\\Manjit\\Downloads\\chromedriver_win32\\chromedriver.exe");


        // TODO Auto-generated method stub
    //

    WebDriver driver=new ChromeDriver();

    }

}

无效的端口。退出... ??? ??,???? ??:?:?? ???????

  

org.openqa.selenium.os.OsProcess checkForError SEVERE:   org.apache.commons.exec.ExecuteException:进程退出时带有   错误:1(退出值:1)线程中出现异常" main"   org.openqa.selenium.WebDriverException:等待驱动程序超时   服务器启动。构建信息:版本:' 3.12.0',修订版:' 7c6e0b3',   时间:' 2018-05-08T15:15:03.216Z'系统信息:主持人:' MANJIT-PC',ip:   ' 192.168.1.19',os.name:' Windows 7',os.arch:' amd64',os.version:   ' 6.1',java.version:' 1.8.0_171'驱动程序信息:driver.version:   ChromeDriver在   org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:192)     在   org.openqa.selenium.remote.service.DriverService.start(DriverService.java:178)     在   org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)     在   org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)     在   org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)     在   org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:130)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:181)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:168)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:123)     在Labarary.LAb.main(LAb.java:20)引起:   org.openqa.selenium.net.UrlChecker $ TimeoutException:超时等待   让[http://localhost:?????/status]在?????之后可用ms at   org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)     在   org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:187)     ... 9更多引起:java.util.concurrent.TimeoutException at   java.util.concurrent.FutureTask.get(未知来源)at   com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:148)     在   org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)     ......还有10个

1 个答案:

答案 0 :(得分:0)

此错误消息...

Invalid port. Exiting... ??? ??, ???? ??:??:?? ???????
org.openqa.selenium.os.OsProcess checkForError

...表示 OsProcess 无法将 ChromeDriver服务器进程绑定到系统中分配的免费端口

>

根据讨论Getting Invalid port errorInvalid port. Exiting...

分配给chromedriver的端口小于0或大于65535时,发生“无效的端口。正在退出...”。

调试步骤

执行以下步骤来解决核心问题:

  • 通过 CLI 执行netstat命令以查看您是否已达到可能打开的连接的限制,或者检查ChromeDriver所使用的端口上是否正在运行其他应用程序。 / li>
  • 检查防火墙设置,很有可能防火墙配置可能阻止了通信。
  • ChromeDriver 升级到当前的ChromeDriver v2.84级别。
  • Chrome 升级到当前的 Chrome v84.0 级别。 (as per ChromeDriver v84.0 release notes
  • 如果您的基本 Web客户端版本太旧,则将其卸载并安装最新版本的 Web客户端 GA。
  • 通过 IDE
  • 清理项目项目工作区,并仅使用必需的依赖项重新构建项目
  • (仅适用于 WindowsOS )使用CCleaner工具清除执行 Test Suite 前后的所有操作系统琐事。
  • (仅 LinuxOS Free Up and Release the Unused/Cached Memory in Ubuntu/Linux Mint,在执行 Test Suite 之前和之后。
  • 进行系统重启释放已使用的端口。
  • 非root用户用户的身份执行@Test
  • 始终在driver.quit()方法内调用tearDown(){},以优雅地关闭和销毁 WebDriver Web Client 实例。

替代

作为替代方案,您可以强制WebDriver变体(即 ChromeDriver )在特定端口上启动,例如 65535 如下:

  • 代码块:

    System.setProperty("webdriver.chrome.driver","C:\\WebDrivers\\chromedriver.exe");
    WebDriver driver= new ChromeDriver(new ChromeDriverService.Builder().usingPort(65535).build());
    driver.get("https://www.google.com/");
    
  • 控制台输出:

    Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}) on port 65535
    Only local connections are allowed.
    Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
    ChromeDriver was started successfully.
    Jul 20, 2020 7:36:17 PM org.openqa.selenium.remote.ProtocolHandshake createSession
    INFO: Detected dialect: W3C
    

参考文献

您可以在以下位置找到几个相关的详细讨论: