硒禁用还原页面弹出

时间:2018-07-10 16:09:44

标签: c# google-chrome selenium selenium-chromedriver

我正在使用硒C#,我试图禁用“崩溃的” chrome的弹出窗口: https://i.stack.imgur.com/xudon.png

我试图设置配置文件首选项,但是似乎代码根本没有改变,

        ChromeOptions options = new ChromeOptions();
        options.AddUserProfilePreference("exit_type", "Normal");
        options.AddUserProfilePreference("exited_cleanly", "true");
        IWebDriver driver = new ChromeDriver(options);

我试图将退出类型的值更改为none&None,但在首选项文档中没有任何更改。

5 个答案:

答案 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})