c# - 在 C# 中将 Httpheader 添加到 selenium chrome webdriver

标签 c# selenium selenium-webdriver

我的 C# 代码看起来像这样用于创建 chrome web 驱动程序,我想将自定义 HTTP header 添加到我的所有 http 请求。

例如:用户代理:Android

var service = ChromeDriverService.CreateDefaultService(@"c:\Chrome\");
var option = new ChromeOptions();
_driver = new ChromeDriver(service, option);

我们有 firefox 的方式,如链接所示,但对于 chrome,它不起作用。 https://eveningsamurai.wordpress.com/2013/11/21/changing-http-headers-for-a-selenium-webdriver-request/

感谢任何帮助

最佳答案

我已经能够使用 ModHeaders Chrome extension 来管理它.下载插件 CRX 文件并将其加载到您的测试 Chrome 实例中。

var options = new ChromeOptions();
options.AddExtension("WebDrivers/modHeader_2_1_1.crx");

var driver = new ChromeDriver(options);

然后您可以使用本地存储配置插件,因为这也是插件存储其配置的地方。

// set the context to access extension local storage
Configuration.driver.Navigate().GoToUrl("chrome-extension://idgpnmonknjnojddfkpgkljpfnnfcklj/icon.png");

Configuration.driver.ExecuteScript(
    "localStorage.setItem('profiles', JSON.stringify([{                " +
    "  title: 'Selenium', hideComment: true, appendMode: '',           " +
    "  headers: [                                                      " +
    "    {enabled: true, name: 'MY_HEADER', value: 'MY_VALUE', comment: ''}  " +
    "  ],                                                              " +
    "  respHeaders: [],                                                " +
    "  filters: []                                                     " +
    "}]));                                                             ");

最后你可以导航到某个地方并检查标题是否已加载

    Configuration.driver.Navigate().GoToUrl("http://example.com/");

关于c# - 在 C# 中将 Httpheader 添加到 selenium chrome webdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813287/

相关文章:

c# - 使用 MSBuild 预编译 ASP.NET Web 应用程序

c# - ASP.NET Core 6 : Users are logged out after 30 minutes, 需要 6 小时

java - 在 for 循环中使用 row.getlastcellnum() 方法在 Selenium 中写入 excel 工作表会导致 java.lang.IllegalArgumentException

java - 使用java在selenium webdriver中的2个窗口之间切换

java - IRetryAnalyzer 帮助,无法使其工作

java - safardriver 在 @Aftermethod 中调用 driver.close() 之前自动关闭

c# - 通过 RESTful webservice 返回图片

c# - EDMX 对象引用未设置为对象的实例

c# - 如何使用 Selenium 从 HTML5 数据列表中进行选择

java - Webdriver - 无法定位元素(Java)