我正在尝试使用一些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
答案 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");
也许可以在用户数据目录中使用/
而不是\\
进行检查。另一种可能性是,它可能会从您提供的用户数据目录中的配置文件中加载/覆盖设置。