2013-10-28 61 views

回答

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控制台窗口,它将在那里具有“useragent”值,并且你应该看到它已经被设置为你在上面指定的内容。

0

在你的脚本之前添加用户代理的Firefox,你必须在第一次调用之前定义属性page.settings.userAgent到page.open。

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

相关问题