【问题标题】:Google Chrome ignores capabilities谷歌浏览器忽略功能
【发布时间】:2018-07-25 14:08:26
【问题描述】:

我正在尝试使用一些 args 启动 chrome,但它们不会应用...,chrome 以默认窗口大小和默认位置启动。

private WebDriver webDriver;
final ChromeOptions options = new ChromeOptions();
            options.addArguments("--user-data-dir=" + configuration.getUserDataDir(),"--window-size=0,0", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications"  );
            webDriver = new ChromeDriver(options);

Chrome 日志:

{
   "capabilities": {
      "desiredCapabilities": {
         "browserName": "chrome",
         "goog:chromeOptions": {
            "args": [ "--user-data-dir=C:\\ltb\\userdatadir\\", "--window-size=0,0", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications" ],
            "extensions": [  ]
         }
      },
      "firstMatch": [ {
         "browserName": "chrome",
         "goog:chromeOptions": {
            "args": [ "--user-data-dir=C:\\ltb\\userdatadir\\", "--window-size=0,0", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications" ],
            "extensions": [  ]
         }
      } ]
   },
   "desiredCapabilities": {
      "browserName": "chrome",
      "goog:chromeOptions": {
         "args": [ "--user-data-dir=C:\\ltb\\userdatadir\\", "--window-size=0,0", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications" ],
         "extensions": [  ]
      }
   }
}

整个日志:https://pastebin.com/PP5r4LrL

我做错了什么?

selenium-java 3.13.0 chrome v59 chromedriver 2.30

【问题讨论】:

  • 你可以试试options.addArguments("--user-data-dir=" + configuration.getUserDataDir(),"--window-size=0,0", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications" );,而不是options.AddArgument("--start-maximized"); options.AddArgument("--ignore-certificate-errors"); options.AddArgument("--disable-popup-blocking"); options.AddArgument("--incognito");
  • 没有方法叫做 .addArgument();只有 .addArguments(String... arguments) 和 .addArguments(List arguments)

标签: java google-chrome selenium selenium-webdriver


【解决方案1】:

我从未使用过.addArguments() 方法,所以我无法证明它为什么不起作用。

这是我使用的方法:

Map<String, Object> options = new HashMap<String, Object>();
ArrayList<String> args = new ArrayList<String>();
args.add("enable-automation");
args.add("test-type=browser");
args.add("disable-plugins");
args.add("disable-infobars");
args.add("window-size=1920x1080");
options.put("args", args);

capabilities.setCapability(ChromeOptions.CAPABILITY, options);

还发布了here,其中包含有关如何同时加载扩展程序的链接。

【讨论】:

    【解决方案2】:

    看起来用户数据目录有问题。我尝试删除 user-data-directory 并在更改窗口大小时正常工作:

    options.addArguments("--window-size=10,10", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications");
    

    您可以在用户数据目录中使用/ 而不是\\ 进行检查。另一种可能性是它可能会从您提供的用户数据目录中的配置文件中加载/覆盖设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-08-15
      • 2013-05-18
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      相关资源
      最近更新 更多