python – 使用PhantomJS Selenium处理重定向
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 使用PhantomJS Selenium处理重定向,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1390字,纯文字阅读大概需要2分钟。
内容图文
![python – 使用PhantomJS Selenium处理重定向](/upload/InfoBanner/zyjiaocheng/809/fa070196b6674fe29de3ead44bdc7a67.jpg)
我目前通过Python中的PhantomJS Selenium运行浏览器测试.
desired_capabilities = dict(DesiredCapabilities.PHANTOMJS)
desired_capabilities["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36")
driver = webdriver.PhantomJS(executable_path="./phantomjs", desired_capabilities=desired_capabilities)
driver.get('http://google.com')
这工作正常,除非我试图得到的页面有重定向.
例:
https://login.vrealizeair.vmware.com/
在这种情况下,get无法正常工作.页面来源为空:< html>< head>< / head>< / body>< / html>.
这是一个known issue,其中发布的解决方案涉及添加一段代码以适当地处理重定向.
如果您正在使用Selenium运行测试(在我的第一个代码段中),您如何/在何处添加此代码?它是desired_capabilties的一部分吗?
例:
page.onNavigationRequested = function(url, type, willNavigate, main) {
if (main && url!=myurl) {
myurl = url;
console.log("redirect caught")
page.close()
renderPage(url);
}
};
page.open(url, function(status) {
if (status==="success") {
console.log(myurl);
console.log("success")
page.render('yourscreenshot.png');
phantom.exit(0);
} else {
console.log("failed")
phantom.exit(1);
}
});
我尝试使用PhantomJS 1.9.8和2.0.1开发.
解决方法:
事实证明,由于错误,无法抓取页面:SSL握手失败.
解决方案是使用以下行初始化驱动程序:
driver = webdriver.PhantomJS(executable_path="./phantomjs", service_args=['--ignore-ssl-errors=true'])
内容总结
以上是互联网集市为您收集整理的python – 使用PhantomJS Selenium处理重定向全部内容,希望文章能够帮你解决python – 使用PhantomJS Selenium处理重定向所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。