当前位置: 首页 > 知识库问答 >
问题:

无效端口。退出。。。组织。openqa。硒。操作系统。o使用铬驱动程序和通过硒的铬处理检查错误

齐奕
2023-03-14
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.OsProcesscheck ForError SEVERE:org.apache.commons.exec.ExecteExc0019:进程退出时出错: 1(退出值: 1)异常线程"main"org.openqa.selenium.WebDriverExc0019:超时等待驱动服务器启动。构建信息:版本:'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.驱动程序的ChromeDriverervice.waitorg.openqa.selenium.remote.service.驱动程序<-PLHD-13/>(DriverService.java:178)在org.openqa.selenium.remote.service.Driver命令xecutor.execute(Driver命令xecutor.java:79)在org.openqa.selenium.remote.远程WebDriver.execute(远程WebDriver. java: 543)在org. openqa. selenium. Remote。在org. openqa. selenium. Remote上启动会话(远程WebDriver. java: 207)。远程网络驱动)java: 130)在org. openqa. selenium. chrome。ChromeDriver.(java: 181)在org. openqa. selenium. chrome。ChromeDriver.(java: 168)在org. openqa. selenium. chrome。ChromeDriver.(ChromeDriver. java: 123)在Labarary。LAB. main(LAB. java: 20)引起:org. openqa. selenium. net.超文本传输协议超时等待/status]之后可用?????MS at org. openqa. selenium. net.UrlChecker. waitUntil可用(UrlChecker. java: 100)在org. openqa. selenium. Remote. service。9更多原因:java. utile. con当前。在java. util. con当前的异常。FutureTasks. get(未知来源)在com. google.通用。在org. openqa. selenium. net.UrlChecker. waitUntil可用(UrlChecker. java: 75)...10更多

共有1个答案

谭桐
2023-03-14

此错误消息。。。

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

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

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

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

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

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

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

    您可以在以下内容中找到一些相关的详细讨论:

    • 无效端口。退出…组织。openqa。硒。操作系统。使用selenium启动chrome时处理checkForError

  •  类似资料:
    • 我使用硒服务器独立罐-3.11.0,最新的ChromeDriver-2.36和Chrome版本66.0.3359.139 我的代码 但我无法启动chrome.its给出以下错误

    • 我们用无头铬运行硒(JAVA)。这一切都需要大约300 MB的RAM。VPS有1 GB内存,但硒“粉碎”: 似乎没有足够的可用 RAM: 结果: 这是为什么?完整的流程列表如下:

    • 我还是想不通。几天前我的硒工作得很好;现在它给我带来了一些错误。我首先使用Nuget,然后我尝试手动安装它。 如何重现问题: 错误: OpenQA. Selenium.WebDriverExcture:抛出一个带有空响应的异常,向远程WebDriver服务器发送HTTP请求以获取URLhttp://localhost:60695/session.异常的状态为ReceiveFailure,消息为:基

    • 我正在编写一个与我们的一个系统交互的硒脚本。在我们的系统中,有一个按钮,当按下时,它只能正确加载页面大约一半的时间(它只是在每隔一个场合加载无限长的时间),因此我不能依赖默认的硒等待页面加载。因此,我想按下按钮,并在打开新窗口之前立即关闭Web浏览器以继续执行脚本。不幸的是,我无法解决按钮本身的问题。 我目前的代码: 目前,System.out不太可能达到,因为一旦action.perform()

    • 我正在尝试使用 启动 的会话 我一直收到这个错误: (未知错误:DevToolsActivePort文件不存在)(从chrome位置/usr/lib/chrumbrowser/chrum浏览器启动的进程不再运行,因此ChromeDriver假设chrome已崩溃。)(驱动程序信息:ChromeDriver=71.0.3578.98,平台=Linux 4.15.0-45-generic x86_64

    • 我使用Selenium和PhantomJS开发了几个Python脚本。当我转向自动下载时,我切换到了(headed)Firefox(有效),然后是Chrome,有了headless选项,这样浏览器就不会在我面前打开了。 我的第一个脚本访问一个页面和几个HTML元素,与无头Chrome完美地工作。 第二个,然而,工作与头铬。如果我加上“无头”选项,它就不再起作用了。当我试图以headless模式打印