Java 无效端口。正在退出…org.openqa.selenium.os.o使用ChromeDriver和通过selenium的Chrome处理checkForError
无效端口。退出。。。 ??? ??, ???? ??:??:?? ??????? org.openqa.selenium.os.OsProcess checkForError严重错误: org.apache.commons.exec.ExecuteException:进程已退出,但出现错误 错误:线程“main”中出现1(退出值:1)异常 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: 镀铬器 org.openqa.selenium.remote.service.DriverService.waitUntilavable(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.waitUntilavable(UrlChecker.java:100) 在 org.openqa.selenium.remote.service.DriverService.waitUntilavable(DriverService.java:187) ... 9更多原因:java.util.concurrent.TimeoutException位于 java.util.concurrent.FutureTask.get(未知源代码)位于 com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:148) 在 org.openqa.selenium.net.UrlChecker.waitUntilavable(UrlChecker.java:75) ... 10多 此错误消息Java 无效端口。正在退出…org.openqa.selenium.os.o使用ChromeDriver和通过selenium的Chrome处理checkForError,java,selenium,google-chrome,selenium-webdriver,selenium-chromedriver,Java,Selenium,Google Chrome,Selenium Webdriver,Selenium Chromedriver,无效端口。退出。。。 ??? ??, ???? ??:??:?? ??????? org.openqa.selenium.os.OsProcess checkForError严重错误: org.apache.commons.exec.ExecuteException:进程已退出,但出现错误 错误:线程“main”中出现1(退出值:1)异常 org.openqa.selenium.WebDriverException:等待驱动程序超时 要启动的服务器。生成信息:版本:“3.12.0”,修订版:“7
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();
}
}
…表示OsProcess无法将ChromeDriver服务器进程绑定到系统中分配的空闲端口
根据讨论和
分配给chromedriver的端口小于0或大于65535时会出现“无效端口。正在退出…”。
调试步骤
执行以下步骤以解决核心问题:
- 通过CLI执行
命令,查看是否已达到可能打开的连接的限制,或者检查所使用的端口上是否有其他应用程序正在运行netstat
- 检查您的防火墙设置,很可能是防火墙配置阻止了通信
- 将ChromeDriver升级到当前级别
- 将Chrome升级到当前的ChromeV84.0版本。()
- 如果您的基本Web客户端版本太旧,请卸载它并安装最新的GA和Web客户端发布版本
- 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
- (仅限Windows OS)在执行测试套件之前和之后,使用该工具清除所有操作系统杂务
- (仅限LinuxOS)在执行测试套件之前和之后
- 重新启动系统以释放已使用的端口
- 以非root用户身份执行
@Test
- 始终在
方法中调用tearDown(){}
,以优雅地关闭和销毁Web驱动程序和Web客户端实例driver.quit()
65535
,如下所示:
- 代码块:
Invalid port. Exiting... ??? ??, ???? ??:??:?? ??????? org.openqa.selenium.os.OsProcess checkForError
- 控制台输出:
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