【问题标题】:Invalid port. Exiting...org.openqa.selenium.os.OsProcess checkForError using ChromeDriver and Chrome through Selenium端口无效。通过 Selenium 使用 ChromeDriver 和 Chrome 退出...org.openqa.selenium.os.OsProcess checkForError
【发布时间】:2018-06-13 17:37:15
【问题描述】:
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 严重: 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] 在 ????? 之后可用毫秒 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(未知来源)在 com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:148) 在 org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75) ... 10 更多

【问题讨论】:

  • 您安装了防病毒软件吗?
  • 你在这里查看答案了吗stackoverflow.com/questions/50245718/…
  • 1. webdriver/selenium 以前是否在这台机器上工作过,或者这是你第一次 2. 如果以前工作过,请确保你的 Chrome.exe 没有被自动更新为与你的驱动程序不兼容,请参阅chrome drivers 3. 最简单解决端口问题的方法是重置机器,这会清除所有端口。 4 转到上面显示的@mbn217 链接

标签: java selenium google-chrome selenium-webdriver selenium-chromedriver


【解决方案1】:

此错误消息...

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

...表示 OsProcess 无法将 ChromeDriver 服务器进程 绑定到您系统中分配的空闲端口。 p>

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

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

调试步骤

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

  • 通过CLI 执行netstat 命令,查看是否已达到可能打开的连接数限制,或者检查ChromeDriver 使用的端口上是否有其他应用程序正在运行。
  • 检查您的防火墙设置,防火墙配置很可能会阻止通信。
  • ChromeDriver 升级到当前的ChromeDriver v2.84 级别。
  • Chrome 升级到当前的 Chrome v84.0 级别。 (as per ChromeDriver v84.0 release notes)
  • 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端
  • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
  • 仅适用于 Windows 操作系统)使用 CCleaner 工具在您的测试套件执行前后清除所有操作系统杂务。
  • 仅限 LinuxOSFree Up and Release the Unused/Cached Memory in Ubuntu/Linux Mint 在执行您的测试套件之前和之后。
  • 进行系统重启以释放使用的端口。
  • 非root用户身份执行@Test
  • 始终在 tearDown(){} 方法中调用 driver.quit() 以优雅地关闭和销毁 WebDriverWeb 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
    

参考文献

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多