我正在最新的项目中研究phantomjs作为UI自动化的可能解决方案,但似乎无法使Windows身份验证正常工作。我试过设置page.settings.userName
and page.settings.password
,但是下面的代码段总是得到401,基础堆栈不费力气来解决它。我的搜索引擎优化使我失败了,所以我来到社区寻求帮助。
var page = require('webpage').create();
page.onResourceReceived = function(response) {
phantom.exit(response.status);
};
page.open('http://bing.com');
对我来说,这种情况非常有效。迈克罗杰斯解决方案
var _driverOptions = new PhantomJSOptions();
var _driverService = PhantomJSDriverService.CreateDefaultService();
_driverOptions.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
_driver = new PhantomJSDriver(_driverService, _driverOptions);
using (Impersonation.LogonUser(domain, login, pass, LogonType.Interactive))
{
using (var proxy = new NtlmProxy(new Uri("http://yoursite.com/"), options))
{
_driver.Navigate().GoToUrl(url);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句