当前位置: 首页 > 编程语言 > C#

如何使用SeleniumWebdriver.NET绑定设置Chrome首选项?Share

时间:2023-04-10 17:21:34 C#

如何使用SeleniumWebdriver.NET绑定设置Chrome首选项?我用的是这个,useragent可以设置成功,而downloadpreference不能。Windows7,Chrome26,Selenium-dotnet-2.31.2,chromedriver_win_26.0.1383.0ChromeOptionschromeOptions=newChromeOptions();varprefs=newDictionary{{"download.default_directory",@"C:code"},{"download.prompt_for_download",false}};chromeOptions.AddAdditionalCapability("chrome.prefs",prefs);chromeOptions.AddArgument("--user-agent="+"somesafariagent");vardriver=newChromeDriver(chromeOptions);取自chromedriver.log:[1.201][FINE]:Initializingsessionwithcapabilities{"browserName":"chrome","chrome.prefs":{"download.default_directory":"C:\code","download.prompt_for_download":false},"chrome.switches":["--user-agent=Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/534.57.2(KHTML,likeGecko)Version..."],"chromeOptions":{"args":["--user-agent=Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/534.57.2(KHTML,likeGecko)Version..."],"binary":"","extensions":[]},"javascriptEnabled":true,"platform":"WINDOWS","version":""}检查临时首选项文件*tempGoogleChromeUserDataDefaultPreferences,"default_directory"和"prompt_for_download"没有设置"download":{"directory_upgrade":true},SeleniumdotNet驱动不支持退出box设置chrome.prefs为。问题是chrome.prefs必须定义为chromeOptions节点下的prefs。ChromeOptions类不包含该变量,因此需要创建自己的ChromeOptions类:publicclassChromeOptionsWithPrefs:ChromeOptions{public字典首选项{get;set;}}publicstaticvoidInitialize(){varoptions=newChromeOptionsWithPrefs();options.prefs=newDictionary{{"intl.accept_languages","nl"}};_driver=newChromeDriver(@"C:pathchromedriver",options);}如果您更新到Chrome版本36.0.x和Selenium2.42,Martins解决方案将不再有效。它似乎已更新。您现在可以使用以下代码ChromeOptionsoptions=newChromeOptions();options.AddUserProfilePreference(stringpreferenceName,objectpreferenceValue);我目前使用它将我的打印机设置更改为“另存为PDF”,而不是默认使用此代码作为示例ChromeOptionsoptions=newChromeOptions();options.AddUserProfilePreference("printing.print_preview_sticky_settings.appState","{"version":2,"isGcpPromoDismissed":false,"selectedDestinationId":"SaveasPDF");我觉得Martin的解决方案很好很准确,但是它突然对我不起作用,所以自然我得看看能不能找到解决方案。以上是C#学习教程:HowtosetChromepreferencesusingSeleniumWebdriver.NETbindings?Shareall如果内容对你有用和需要了解更多C#学习教程的朋友,希望大家多多关注。本文整理自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除转载请注明出处: