当前位置: 首页 > 面试题库 >

如何使用Selenium Webdriver .NET绑定设置Chrome偏好设置?

洪和风
2023-03-14
问题内容

这是我正在使用的,可以成功设置用户代理,而无法下载首选项。

Windows 7,Chrome 26,Selenium-dotnet-2.31.2,chromedriver_win_26.0.1383.0

ChromeOptions chromeOptions = new ChromeOptions();
var prefs = new Dictionary<string, object> {
    { "download.default_directory", @"C:\code" },
    { "download.prompt_for_download", false }
};
chromeOptions.AddAdditionalCapability("chrome.prefs", prefs);
chromeOptions.AddArgument("--user-agent=" + "some safari agent");
var driver = new ChromeDriver(chromeOptions);

取自chromedriver.log:

[1.201][FINE]:      Initializing session with capabilities {

   "browserName": "chrome",

   "chrome.prefs": {

      "download.default_directory": "C:\\code",

      "download.prompt_for_download": false

   },

   "chrome.switches": [ "--user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version..." ],

   "chromeOptions": {

      "args": [ "--user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version..." ],

      "binary": "",

      "extensions": [  ]

   },

   "javascriptEnabled": true,

   "platform": "WINDOWS",

   "version": ""

}

检查临时首选项文件,位于*temp\Google\Chrome\User Data\Default\Preferences,否,"default_directory""prompt_for_download"已设置。

   "download": {
      "directory_upgrade": true
   },

问题答案:

Selenium
dotNet驱动程序不支持chrome.prefs开箱即用。问题在于chrome.prefs必须prefschromeOptions节点下进行定义。本ChromeOptions类不包含这个变量,所以您需要创建自己ChromeOptions的类:

public class ChromeOptionsWithPrefs: ChromeOptions
{
    public Dictionary<string,object> prefs { get; set; }
}

public static void Initialize()
{
    var options = new ChromeOptionsWithPrefs();
    options.prefs = new Dictionary<string, object>
    {
        { "intl.accept_languages", "nl" }
    };
    _driver = new ChromeDriver(@"C:\path\chromedriver", options);
}


 类似资料:
  • 通用设置 打开软件时 打开 Sketch 时,你需要创建一个新的文件,或者选择现有文件。 撤销 Sketch 会将多个相似的操作视为一组,比如你连续多次按下方向键以移动图层,但是只需一次撤销,即可恢复原来的位置。 字体渲染 当你为 Mac 或网页设计时,你会想打开子像素抗锯齿效果,但是为 iOS 设计时,你会想关掉它。 矢量导入 这个选项让你在导入 PDF 或者 EPS 的时候告诉 Sketch,

  • Navicat Data Modeler 提供一些选项让你自定义用户界面和性能。 若要打开偏好设置窗口,从菜单栏选择“Navicat Data Modeler”->“偏好设置”。

  • Navicat 为所有工具提供完整的自定义用户界面选项。 若要打开偏好设置窗口,请从菜单栏选择“Navicat XXX”->“偏好设置”。

  • 偏好设置 面板中提供了编辑器的个性化设置,要打开 偏好设置 面板,请从主菜单的 Cocos Creator 3D -> 偏好设置 菜单进入。 设置可以分成下列几部分: 通用设置 通用设置主要是针对编辑器相关的一些基础数据进行配置。 编辑器语言:可以选择中文或英文,修改语言设置后要重新启动 Cocos Creator 才能生效。 选择本机 IP 地址:用户可以在本机有多个 IP 地址的情况下,手动选

  • 这是我正在使用的,用户代理可以成功设置,而下载首选项不能。 Windows 7、Chrome 26、Selenium-dotnet-2.31。2,chromedriver_win_26.0。1383 取自chromedriver。日志: 检查temp首选项文件在,没有设置和。

  • 当我们把Git的环境配好,在Android Studio的偏好设置中只需要使用默认的配置就可以了。一般不需要特殊配置,但也不排除你有特殊的需求,那下面我们就介绍下Git的偏好设置。 设置步骤: 偏好设置: Version Control —> Git Path to Git executable: Git执行路径,这里使用的是默认路径,如果你自定义了Git路径,这里要记得攺一下, 不然会报错的.