【问题标题】:Selenium - chrome Driver fail to start in background (without a start-up window)Selenium - chrome 驱动程序无法在后台启动(没有启动窗口)
【发布时间】:2015-10-08 08:01:48
【问题描述】:

我正在使用 Selenium 并尝试初始化 Chrome 驱动程序以在没有启动窗口的情况下启动。

ChromeOptions options= new ChromeOptions();
options.addArguments("--no-startup-window");
//I tried this line also: options.addArguments("--silent-launch");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(Capabilities);

我收到以下异常:

未知错误:Chrome 无法启动:正常退出

谁能帮帮我?

【问题讨论】:

    标签: java selenium selenium-chromedriver


    【解决方案1】:

    您需要先从 selenium 网站下载二进制文件,根据您的要求下载二进制文件:-

    http://chromedriver.storage.googleapis.com/index.html?path=2.19/
    

    现在设置下面的代码,这样 selenium 脚本就会知道你的二进制文件的路径

    System.setProperty("webdriver.chrome.driver","./src\\lib\\chromedriver.exe");
    

    所以代码应该是这样的:-

    System.setProperty("webdriver.chrome.driver","./src\\lib\\chromedriver.exe");
    ChromeOptions options= new ChromeOptions();
    options.addArguments("--no-startup-window");
    //I tried this line also: options.addArguments("--silent-launch");
    DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    WebDriver driver = new ChromeDriver(capabilities);
    

    希望对你有帮助:)

    【讨论】:

      【解决方案2】:

      我认为您正在寻找的标志是 --headless 该功能刚刚在 chrome 57 中实现

      --no-startup-window 用于托管后台应用程序,请参阅this page 并且正如其他答案中提到的那样,它不会启动一个窗口,这就是 webdriver 无法与之对话的原因。

      --headless 确实会启动一个窗口,但不会使其可见。

      【讨论】:

      • 是的,它的文档还没有那么好,但它可以工作 (=
      • 还有一点,是否可以使用 headless chrome 下载文件?
      • 我不明白为什么不这样做,但还没有尝试过。所以我会说,试试吧!让我们知道;-)
      • 我正在尝试下载在 iFrameReport 中有链接的文件。如果没有无头模式,chrome 正在下载文件,但在无头模式下,它无法找到 iFrameReport 的标签。我在 page_source 中验证,标签在那里。
      • 啊,这似乎是一个已知的错误:stackoverflow.com/questions/42471151/…。太糟糕了。 here 是其他浏览器的一些解决方案,但您可能已经找到了。祝您好运!
      【解决方案3】:

      我正在使用 Selenium 并尝试初始化 Chrome 驱动程序以在没有启动窗口的情况下启动。

      根据 Selenium GitHub (Strange error, chromedriver with --no-startup-window),Selenium 需要 JavaScript 和 Chrome 窗口才能工作:

      很像--disable-javascript,如果您使用--no-startup-window,chromedriver 将无法工作。 它需要启动一个窗口来建立与 AutomationProxy 的连接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-17
        • 1970-01-01
        • 2021-07-01
        • 1970-01-01
        相关资源
        最近更新 更多