【发布时间】:2017-10-04 05:19:28
【问题描述】:
我的脚本已经停止工作 2 天了。如果我从任何浏览器(Chrome、Mozilla 等)手动执行工作,没问题。我认为问题应该出在phantojs的标题中。你怎么能像普通浏览器一样模拟 phantomjs 中的标头?下面的这些行是我使用 pantomjs / casperjs 访问时网站向我显示的内容
请原谅我们的打扰...
当您浏览有关您的浏览器的某些内容时,我们认为您是机器人。发生这种情况的原因有几个:
您是以超人的速度浏览此网站的高级用户。 您已在 Web 浏览器中禁用 JavaScript。 第三方浏览器插件(例如 Ghostery 或 NoScript)正在阻止 JavaScript 运行。此支持文章中提供了更多信息。
完成下面的验证码后,您将立即重新获得访问权限
在我的脚本中,我有这样的配置:
var casper = require("casper").create ({
engine: 'phantomjs',
exitOnError: false,
ignoreSslErrors: true,
waitTimeout: 5000,
stepTimeout: 5000,
verbose: true,
pageSettings: {
webSecurityEnabled: false,
javascriptEnabled: true,
loadImages: true,
loadPlugins: true,
localToRemoteUrlAccessEnabled: true,
userAgent: 'Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36',
XSSAuditingEnabled: false,
logLevel: 'debug'
},
onWaitTimeout: function() {
// this.echo('** Wait-TimeOut **');
},
onStepTimeout: function() {
//this.echo('** Step-TimeOut **');
}
});
【问题讨论】:
-
我尝试过使用 slimerjs,放弃无头浏览器......同样的事情仍在发生。如果有人帮助我,我会很高兴!!!
标签: javascript header phantomjs casperjs