phantomjsdriver如何添加用户代理?

时间:2013-10-28 04:54:55

标签: c# selenium nuget phantomjs nuget-package

我正在使用phantomjsdriver 1.8.1 for .net(C#)  http://www.nuget.org/packages/phantomjs.exe/并且想知道如何在加载Web内容之前添加用户代理firefox

2 个答案:

答案 0 :(得分:13)

虽然Cyber​​max的答案有些正确,但就你实际使用的内容而言,它是不正确的 - C#。要在C#中为PhantomJSDriver指定用户代理,您需要将其作为“附加功能”提供:

var options = new PhantomJSOptions();
options.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0");

这些选项应该传递给用于创建驱动程序的构造函数:

var driver = new PhantomJSDriver(options);

要验证是否已正确设置,您可以查看告诉您浏览器用户代理的网站,例如WhatIsMyUserAgent.com或仔细查看PhantomJS控制台窗口,它会有“使用者” “那里的价值,您应该看到它已经设置为您在上面指定的内容。

答案 1 :(得分:0)

在您的脚本中,您必须在第一次调用page.open之前定义属性page.settings.userAgent

var page = require('webpage').create();
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'; //firefox 25
page.open('http://stackoverflow.com/', function (status) {
  // do something
});

注意:PhantomJS的最新版本是1.9.2。另一个包可用here