嗨。 如何单击“允许”按钮?我真的在互联网上找不到任何解决方案。我不想使用c ++挂钩或按坐标模拟鼠标单击。有什么好方法可以允许此通知吗?
new ChromeOptions.AddUserProfilePreference("profile.default_content_setting_values.automatic_downloads", 2);
没有帮助
答案 0 :(得分:4)
找到了两个解决方案:
1)感谢@Floren的回答:C# selenium chromedriver click on Allow store files on this device
有一个关于铬4.20.11
的论点
Chromium源代码参考:
--unlimited-storage
C#用法:
// Overrides per-origin quota settings to unlimited storage for any
// apps/origins. This should be used only for testing purpose.
const char kUnlimitedStorage[] = "unlimited-storage";
# Prevent the infobar that shows up when requesting filesystem quota.
'--unlimited-storage',
2)@Simon Mourier的回答C# selenium chromedriver click on Allow store files on this device
使用.NET UIAutomation单击“允许”按钮
var chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--unlimited-storage");
var driver = new ChromeDriver(chromeOptions);
答案 1 :(得分:3)
您不能,这是操作系统级别的对话,而不是DOM中的内容。
解决该问题的方法是使用所需功能将chrome配置为不显示此对话框。
我将建议
ChromeOptions options = new ChromeOptions();
options.AddUserProfilePreference("download.prompt_for_download", 0);
options.AddUserProfilePreference("settings.labs.advanced_filesystem", 1);
如果AddUserProfilePreference
不起作用的话,其他可能添加选项的命令是:
AddLocalStatePreference
AddAdditionalChromeOption
AddAdditionalCapability
有关所需功能和镶边的更多详细信息,请查看:
答案 2 :(得分:3)
var chromeOptions = new ChromeOptions();
var downloadDirectory = @"C:\Users\";
chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory);
chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
chromeOptions.AddUserProfilePreference("profile.default_content_setting_values.automatic_downloads", 1);
IWebDriver _driver = new ChromeDriver(chromeOptions);
您可以尝试这个吗?