【问题标题】:Chrome arguments doesn't workChrome 参数不起作用
【发布时间】:2013-07-19 11:57:55
【问题描述】:

有人知道为什么 chrome 参数不起作用吗?

import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class testowa  {
    public static void main(String[] args) throws InterruptedException {

        DesiredCapabilities capability = DesiredCapabilities.chrome();
        capability.setCapability("chrome.args",
                Arrays.asList("--disable-web-security", "--start-maximized"));
        WebDriver driver = null;
        try {
            URL hub_url = new URL("http://192.168.56.101:4444/wd/hub");
            driver = new RemoteWebDriver(hub_url, capability);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        driver.get("file:///home/test/www/index.html");
    }
}

我也尝试过在切换器之前不使用“--”并且只给出一个参数...Chrome 启动,但没有激活标志。

我使用最新的 chromedriver。

【问题讨论】:

    标签: java selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    recently discovered 指出 Capabilities 类由于某种原因无法与当前的 Selenium 和 Chrome 一起正常工作(截至 Selenium 2.33.0、Chrome 30 和 2013 年 7 月)。

    我相信,我链接的答案也是您问题的解决方案。只需使用ChromeOptions,这些对我来说效果很好:

    ChromeOptions options = new ChromeOptions();
    options.addArgument("--disable-web-security");
    options.addArgument("--start-maximized");
    
    // For use with RemoteWebDriver:
    DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    RemoteWebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
    

    【讨论】:

    • 您提供的链接是旧版 chrome 驱动程序的文档,它是 selenium 文档的片段。
    • @maclor 编辑了不同的答案。希望至少 Capabilities 的这种用法会起作用,我现在无法测试它。
    • 嗯,这很烦人,但它确实有效!我必须在我的项目中包含selenium-chrome-driver JAR(而不仅仅是远程驱动程序)才能获得ChromeOptions
    【解决方案2】:

    那些正在寻找 .Net C# 和 Selenium 来加载不安全脚本的人

    ChromeOptions options = new ChromeOptions();
    options.AddArguments("--allow-running-insecure-content");
    IWebDriver driver = new ChromeDriver(options);
    

    【讨论】:

      【解决方案3】:

      试试这个,根据您的规范更改路径和削减:-

                  WebDriver driver=null;
                  System.setProperty("webdriver.chrome.driver","./src//lib//chromedriver");
                  DesiredCapabilities capabilities = DesiredCapabilities.chrome();
                  ChromeOptions options = new ChromeOptions();
                  options.addArguments("test-type");
                  options.addArgument("--start-maximized");
                  options.addArguments("--disable-web-security");
                  options.addArguments("--allow-running-insecure-content");
                  capabilities.setCapability("chrome.binary","./src//lib//chromedriver");
                  capabilities.setCapability(ChromeOptions.CAPABILITY, options);
                  driver = new ChromeDriver(capabilities);
                  driver.get("https://www.google.com/");
      

      下面是列出所有可用 chrome 标志的链接:-

      http://peter.sh/experiments/chromium-command-line-switches/

      【讨论】:

        猜你喜欢
        • 2014-09-23
        • 2013-12-15
        • 2016-04-16
        • 1970-01-01
        • 2017-06-18
        • 2017-06-24
        • 1970-01-01
        • 1970-01-01
        • 2013-12-19
        相关资源
        最近更新 更多