我试着用一些参数启动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
发布于 2018-07-26 00:27:54
我从来没有使用过.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,上面有一个关于如何同时加载扩展的链接。
发布于 2018-07-26 03:25:16
它看起来与user-data-dir有问题。我尝试删除user-data-directory,它在改变窗口大小的情况下运行良好:
options.addArguments("--window-size=10,10", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications");也许你可以在用户数据目录中用/而不是\\来检查。另一种可能性是,它可能会从您提供的用户数据目录中的配置文件加载/覆盖设置。
https://stackoverflow.com/questions/51521011
复制相似问题