Google Chrome忽略了功能

时间:2018-07-25 14:08:27

标签: java google-chrome selenium selenium-webdriver

我正在尝试使用一些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

2 个答案:

答案 0 :(得分:0)

我从未使用过.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上发布了链接,该链接还介绍了如何同时加载扩展程序。

答案 1 :(得分:0)

它似乎与user-data-dir有问题。我尝试删除用户数据目录,但在更改窗口大小的情况下效果很好:

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

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