我正在使用phantomjsdriver 1.8.1 for .net(C#) http://www.nuget.org/packages/phantomjs.exe/并且想知道如何在加载Web内容之前添加用户代理firefox
答案 0 :(得分:13)
虽然Cybermax的答案有些正确,但就你实际使用的内容而言,它是不正确的 - 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。