我使用Chrome作为我的Selenium测试环境。目前是chrome 67
和chromedriver 2.40
有时在测试期间浏览器会关闭。发生这种情况时,我会使用chromedriver重新打开浏览器。
问题是我弄松了测试的标签。有没有办法将"On startup
"设置与复选框"Continue where you left off
"一起使用?
找到了答案。
每次chromedriver打开浏览器时,都会创建新的配置文件。配置文件将覆盖所有chrome设置。"Continue where you left off
"选项是配置文件的一部分。
解决方案是:
private static WebDriver startChrome() {
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=c:\temp\chromeProf"); // Set non-default profile
Map<String, Object> prefs = new HashMap<>();
prefs.put("session.restore_on_startup", 1); // Edit profile preferences to be "Continue where you left off"
options.setExperimentalOption("prefs", prefs); // Set preferences to ChromeOptions
WebDriver driver = new ChromeDriver(options); // Start driver with those options
driver.manage().window().maximize();
return driver;
}