端口无效.退出..org.openqa.selenium.os.OsProcess checkForError 使用 C


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' 驱动程序信息: 驱动程序版本: ChromeDriver at 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.(远程网络驱动程序.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( at Labarary.LAb.main(LAb.java:20( 由以下原因引起: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out wait 对于 [http://localhost:?????/状态]将在?????后可用MS 在 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(Unknown Source( at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:148( 在 org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75( ...10 更多

此错误消息...

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

。意味着OsProcess无法将ChromeDriver 服务器进程绑定到系统中分配的可用端口

根据讨论获取无效端口错误和无效端口。退出。。。

"端口无效。退出。。。"在分配给 chromedriver 的端口小于 0 或大于 65535 时发生。

调试步骤

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

  • 通过CLI执行netstat命令,以查看您是否已达到可能打开的连接限制,或检查 ChromeDrive 使用的端口上是否正在运行其他应用程序。
  • 检查您的防火墙设置,防火墙配置很有可能阻止了通信。
  • ChromeDriver 升级到当前的 ChromeDriverv2.84 级别。
  • Chrome 升级到当前的Chrome v84.0级别。(根据ChromeDriver v84.0发行说明(
  • 如果基本 Web 客户端版本太旧,请将其卸载并安装最新的 GA 和已发布版本的Web 客户端
  • 通过IDE清理项目工作中心,并仅使用所需的依赖项重新生成项目。
  • (仅限WindowsOS(使用CCleaner工具在执行测试套件之前和之后清除所有操作系统杂务。
  • (仅限LinuxOS(在执行测试套件之前和之后释放Ubuntu/Linux Mint中未使用/缓存的内存。
  • 重新启动系统以释放使用的端口。
  • 非 root用户身份执行@Test
  • 始终在方法中调用driver.quit()tearDown(){}以正常关闭和销毁WebDriverWeb 客户端实例。

另类

作为替代方案,您可以强制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
    

引用

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

  • 端口无效。退出。。。org.openqa.selenium.os.OsProcess checkForError 同时使用 selenium 启动 chrome

相关内容

  • 没有找到相关文章

最新更新