【问题标题】:Selenium Chromedriver opens with data:, in navigation barSelenium Chromedriver 以数据打开:,在导航栏中
【发布时间】:2019-08-06 18:16:14
【问题描述】:

如果我通过 chromedriver 打开 Chrome 并导航到一个 URL,我只会在导航栏中获得一个数据:。所有谷歌搜索的解决方案(正确的 chromedriverversion、URL 中的协议等)都没有帮助我。

package de.vhv.selenium;

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class OpenChromeAndNavigate {

    @Test
    public void test() {
        System.setProperty("webdriver.chrome.driver", "C://vhventw//selenium//chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.google.de");
    }

}

此外,如果我添加 --headless 并收听调试端口,一切正常。但我不想让它无头运行。

 package de.vhv.selenium;

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class OpenChromeAndNavigate {

    @Test
    public void test() {
        System.setProperty("webdriver.chrome.driver", "C://vhventw//selenium//chromedriver.exe");
        WebDriver driver = new ChromeDriver(getDesiredCapabilities());
        driver.get("https://www.google.de");
    }

    private ChromeOptions getDesiredCapabilities() {
        ChromeOptions options = new ChromeOptions();


        options.addArguments("--headless");
//        options.addArguments("--disable-extensions"); // disabling extensions
//        options.addArguments("--disable-gpu"); // applicable to windows os only
//        options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
//        options.addArguments("--no-sandbox");
        options.addArguments("--remote-debugging-port=9223");


        return options;
    }

}

有什么我可以尝试的想法吗?

设置:

Chrome 版本 = 71.0.3578.80

Chrome 驱动程序版本 = 2.46.628402

【问题讨论】:

  • 您是否尝试只传递默认的 ChromeOptions 而没有设置任何选项?
  • 这似乎讨论了同样的问题。您可能会在此线程中找到答案:stackoverflow.com/questions/37159684/…
  • @Stephan : 请您将您的 chrome 驱动程序更新到最新版本
  • 我们的 Chrome 版本是 71.0.3578.80,我无法更改。下载页面 (chromedriver.chromium.org/downloads) 说使用 chromedriver 2.46 和 chrome 71。我还应该尝试 chromedriver 74.0.3729.6 吗?

标签: selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

我想通了,那行

options.addArguments("--remote-debugging-port=9225");

解决了我的问题。我已经在无头运行中使用它来监听端口并观察无头运行。但它解决了我的 headfull 运行问题。

return new ChromeDriver(getDesiredCapabilities());



private ChromeOptions getDesiredCapabilities() {
    ChromeOptions options = new ChromeOptions();
    //options.addArguments("--headless");
    options.addArguments("--disable-extensions"); // disabling extensions
    options.addArguments("--disable-gpu"); // applicable to windows os only
    options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
    options.addArguments("--no-sandbox");
    options.addArguments("--remote-debugging-port=9225");

    return options;
}

【讨论】:

    【解决方案2】:

    你需要注意几件事:

    • 不确定您的项目结构,但我建议避免 . 字符和 selenium 字样在 包名如:

      package de.vhv.selenium;
      
    • 通过System.setProperty() 行的Value 部分包含chromedriver.exe绝对路径,应通过转义的反斜杠表示 如:

      System.setProperty("webdriver.chrome.driver", "C:\\vhventw\\selenium\\chromedriver.exe");
      
    • 根据ChromeDriver - WebDriver for Chrome

    如果您使用的是Chrome 72版,请下载ChromeDriver 2.46ChromeDriver 72.0.3626.69

    • 根据最佳实践:
      • JDK升级到最新级别JDK 8u202
      • Selenium升级到当前级别Version 3.141.59
      • ChromeDriver 升级到当前的ChromeDriver v73.0.3683.68 级别。
      • Chrome 版本保持在 Chrome v73 级别之间。 (as per ChromeDriver v73.0.3683.68 release notes)
      • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
      • 如果您的基础 Web Client 版本太旧,请通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web Client
      • 进行系统重启
      • 执行您的@Test
      • 始终在 tearDown(){} 方法中调用 driver.quit() 以优雅地关闭和销毁 WebDriverWeb Client 实例。

    【讨论】:

      【解决方案3】:

      我在同样的问题上苦苦挣扎,然后我意识到我忘记开始测试了:

      $I->amOnPage('/');

      在深入挖掘之前一定要尝试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-17
        • 2020-04-30
        • 1970-01-01
        相关资源
        最近更新 更多