首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >端口无效。正在退出...使用selenium启动chrome时使用org.openqa.selenium.os.OsProcess checkForError

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

Stack Overflow用户
提问于 2018-05-09 12:50:32
回答 6查看 8.6K关注 0票数 2

我使用selenium服务器独立jar- 3.11.0,最新的ChromeDriver-2.36和Chrome版本66.0.3359.139

我的代码

代码语言:javascript
运行
复制
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class WebDriverBasics {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\Users\\surya\\Downloads\\Compressed\\chromedriver_win32_2\\chromedriver.exe");
        WebDriver driver=new ChromeDriver();
        driver.get("http://www.facebook.com");
        driver.manage().window().maximize();
    }
}

但我无法启动chrome.its,出现以下错误

代码语言:javascript
运行
复制
Invalid port. Exiting...
?? ??, ???? ??:??:?? ????????? org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:15.31Z'
System info: host: 'DESKTOP-5GVJDVR', ip: '192.168.0.104', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_171'
Driver info: driver.version: ChromeDriver
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:192)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:178)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:209)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:132)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at WebDriverBasics.main(WebDriverBasics.java:12)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:????/status] to be available after ????? ms
    at 
EN

Stack Overflow用户

发布于 2018-05-09 16:07:56

此错误消息...

代码语言:javascript
运行
复制
Invalid port. Exiting...
?? ??, ???? ??:??:?? ????????? org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)

...implies OsProcess无法绑定到系统中分配的空闲端口

根据和的讨论

"Invalid port. Exiting..." occurs when the port assigned to chromedriver is less than 0 or greater than 65535.

解决方案

  • 通过命令行界面执行netstat命令,以查看您是否达到了可能打开的连接的限制,或者检查给定端口上是否有其他应用程序正在运行。
  • 检查您的防火墙设置,很可能是防火墙配置导致issue.
  • Upgrade ChromeDriver达到当前的级别。
  • 将Chrome版本保持在Chrome v66.x<>E223>级别。通过集成开发环境(as per ChromeDriver v2.38 release notes)
  • Clean您的项目工作区,并仅重新生成包含所需依赖项的项目。在执行测试套件之前和之后,请使用@Test.

工具清除所有操作系统杂务。

  • 如果基本Web客户端版本太旧,请通过将其卸载,然后安装最新的GA和发布版本的Web Client。

  • 重新启动系统以释放Web Client

注意:步骤1、2、7和8对于调试/解决您当前面临的问题至关重要。

替代方案

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

  • 代码块:

System.setProperty("webdriver.chrome.driver","C:\WebDrivers\chromedriver.exe");新建ChromeDriver( WebDriver driver= ChromeDriver

  • 控制台输出:

在端口65530上启动(ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}) ChromeDriver 83.0.4103.39,只允许本地连接。有关保护ChromeDriver安全的建议,请参阅https://chromedriver.chromium.org/security-considerations。ChromeDriver已成功启动。Jul 20,2020 7:36:17 PM org.openqa.selenium.remote.ProtocolHandshake createSession信息:检测到的方言: W3C

参考文献

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

票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50245718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档