【问题标题】:How to Configure the Ports for Communication between Selenium Server and the Browsers如何为 Selenium 服务器和浏览器之间的通信配置端口
【发布时间】:2019-03-28 11:14:00
【问题描述】:

我正在使用 Selenium 独立服务器 3.141.59 https://www.seleniumhq.org/download

在我的代码中,当创建 WebDriver 时,Selenium 服务器会调试类似:在端口 28208 上启动 ChromeDriver

是否可以配置允许 Selenium 服务器使用的端口范围(例如,28000-28100)?

【问题讨论】:

    标签: selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    使用下面的代码将 chrome 配置为在其他默认端口上运行。

    int desiredPortNo = 22300;
    ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(new File("chrome_driver_path")).usingPort(desiredPortNo).build();
    WebDriver driver = new ChromeDriver(service);
    

    更新

    与 RemoteWebDriver 一起使用:

    int desiredPortNo = 22300;
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("...", true);
    
    ChromeDriverService service = new ChromeDriverService.Builder()
                .usingDriverExecutable(new File("driver_path")).usingPort(desiredPortNo)
                .build();
    service.start();
    WebDriver driver = new RemoteWebDriver(service.getUrl(),capabilities);
    driver.get("site_url");
    

    【讨论】:

    • 当我使用 Selenium 服务器时,我使用的是 RemoteWebDriver。但我看不到将 ChromeDriverService 实例传递给 RemoteWebDriver 实例的方法。有办法吗?
    • 嘿,在这里查看答案stackoverflow.com/questions/47671884/…
    • @cnmuc,更新答案,看看
    • 谢谢,但我不明白。由于 Selenium 服务器在远程机器上运行,客户端不应该知道可执行文件的路径。这就是我使用远程驱动程序的原因。在我的情况下,远程服务器的 URL 可能不同(它是通过 Jenkins 传入的),因此远程机器上的路径也可能不同。
    • 请使用您正在使用的更多详细信息和数据更新您的问题。所以有人可以以更好的方式帮助你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多