我正在使用硒C#,我试图禁用“崩溃的” chrome的弹出窗口:
我试图设置配置文件首选项,但是似乎代码根本没有改变,
ChromeOptions options = new ChromeOptions();
options.AddUserProfilePreference("exit_type", "Normal");
options.AddUserProfilePreference("exited_cleanly", "true");
IWebDriver driver = new ChromeDriver(options);
我试图将退出类型的值更改为none&None,但在首选项文档中没有任何更改。
答案 0 :(得分:1)
我正在使用C#,并且我注意到,仅当我们在finally块中使用Close()方法,然后使用Quit()时,才能完全关闭chrome驱动程序。无需特殊选项。我认为在Java中是相同的方式。使用驱动程序启动chrome时,这将有助于摆脱“恢复页面”
ChromeOptions options = new ChromeOptions();
options.AddArgument(Configure.chromeProfileDir);
options.AddArgument(Configure.chromePath);
ChromeDriver d = null;
try
{
d = new ChromeDriver(options);
d.Navigate().GoToUrl("https://google.com");
// Your operations...
}
catch(Exception e)
{
// Handle your exceptions...
}
finally
{
try
{
d.Close();
d.Quit();
}
catch(Exception e)
{
}
}
答案 1 :(得分:1)
我测试了@Icy 给出的答案,它对我有用。我用的是:
prefs = {'exit_type': 'Normal'}
option.add_experimental_option("prefs", {'profile': prefs})
并且由 https://superuser.com/a/1343331 谈到,唯一的问题是那里列出的方法,您每次都需要手动编辑文件,因此效果更好,已在 2021 年 5 月测试。只是不能赞成答案,因为我还没有声誉,这是最后一个。
答案 2 :(得分:0)
使用以下代码来处理此弹出窗口:
AcceptPathInfo
答案 3 :(得分:0)
我在Java中尝试了此代码,它解决了我的问题:))
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir="+profilepath);
options.addArguments("--no-startup-window");
// argument "--no-startup-window" make chrome is failed to start -> selenium will quit chrome normaly
//-> start chrome again, it won't show restore page
try {
driver = new ChromeDriver(options);
}catch(Exception ex){
}
options = new ChromeOptions();
options.addArguments("user-data-dir="+profilepath);
driver = new ChromeDriver(options);
答案 4 :(得分:-1)
尝试以下代码:
prefs = {'exit_type': 'Normal'}
chrome_options.add_experimental_option("prefs", {'profile': prefs})