javascript - 使用 Mechanize for Python 模拟简单的 javascript (location.href=)

标签 javascript python mechanize

简短:如何执行/模拟 javascript 重定向

location.href="http://www.site2.com/";

使用 python Mechanize?

我使用 mechanize 模块制作了一个 python 脚本,该脚本在页面中查找链接并跟踪它。

问题出在特定网站上,当我这样做时

br.follow_link("http://www.address1.com") 

他将我重定向到这个简单的页面:

<script language="JavaScript">{                                                                                         
    location.href="http://www.site2.com/";                                                                                           
    self.focus();                                                                                                                   
    }</script>

现在,如果我这样做:

br = mechanize.Browser(factory=mechanize.RobustFactory())

... #other code

br.follow_link("http://www.address1.com") 
for link in br.links():   
br.follow_link(link)
print link

它不打印任何内容,这意味着该页面中没有链接。

但是如果我手动解析页面并执行:

br.open("http://www.site2.com")

Site2 无法识别我来自“www.address1.com”,并且脚本无法按我希望的方式工作!

抱歉,如果这只是一个新手问题,提前谢谢您!

最佳答案

尝试添加

br.set_handle_referer(True)

构造函数调用之后。

我向您推荐以下选项:

br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

关于javascript - 使用 Mechanize for Python 模拟简单的 javascript (location.href=),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12770625/

相关文章:

javascript - 判断鼠标是否从一个 div 拖到另一个

javascript - 帮助浏览器窗口会合 window.postmessage

ruby - 在 ruby​​ 中打开填充表单页面

python - 如何使用 Mechanize 找到具有特定 ID 标签的链接对象?

ruby - Mechanize 访问 live.com 电子邮件在登录页面上不返回任何表单

javascript - Redux - 了解返回函数的高级 mapStateToProps

javascript - 如何扫描 javascript 代码以查找错误(有任何程序可以做到这一点)吗?

python - 如何让selenium等待多个元素加载

python - Flask 动态路由正在采用我未指定的值

python - 逐位解析 argparse 输入