无头刮擦时处理window.open()



我必须点击URL,http://judis.nic.in/supremecourt/chejudis.asp.在这里提交一个表格,以获得应该废弃的页面。我正在使用PhantomJS和PJScrape。问题是,在表单提交后,结果会显示在一个新窗口中。我浏览了phantomjs的问题列表,发现windown.open无法处理。我可以在这里使用其他方式/框架吗?我必须坚持无头刮,我不能使用硒等。

您可以在页面中向monkey补丁窗口注入javascript。打开如下:

var log = {};
window.my_open = window.open;    
window.open=function (str1,str2,str3){
    console.log("** window.open ** " + str1 + " / " + str2 + " / " + str3);
    log.open = {"url":str1, "name":str2, "features":str3};
    var new_win =  this.my_open(str1, str2,str3);
    return new_win;
}

然后你可以从PJS中访问url,并从那里继续抓取。

注意,new_win将是"未定义的",因为PJS没有实现它。

相关内容

  • 没有找到相关文章

最新更新