PhantomJS在数据提取一个弹出执行JavaScript(PhantomJS executing

2019-10-20 22:59发布

所以我有一些照片的人的网页。 当您单击上执行JavaScript的人的照片,并与一些更详细的信息生成一个弹出如描述等。

的链接,每张照片如下:

<a href="javascript:void(0)" data="10019"  class="seeMore"></a>

首先,我想从基础开始,从一个单一的人刚刚提取的说明等。 所以我想执行上述的JavaScript写的弹出窗口,当我在弹出的对话框就可以抽取的内容div's上弹出。

我已经看了PhantomJS,我真的不知道从哪里开始。 我用Cheerio摆脱网页一些简单的信息,我想移动到执行通过JS弹出的窗口中,然后从该提取数据。

因为我有点新手的筛选,一般刮任何帮助,将不胜感激。

Answer 1:

你可以做到这一点类似于如何CasperJS 做 它 。

page.open(yourUrl, function(success){
    // mainPage is loaded, so every next page could be a popup
    page.onPageCreated = function onPageCreated(popupPage) {
        popupPage.onLoadFinished = function onLoadFinished() {
            popupPage.evaluate(function(){
                // do something in popup page context like extracting data
            });
        };
    };

    // click to trigger the popup
    page.evaluate(function(){
        document.querySelector("a.seeMore").click();
        // or something from here: http://stackoverflow.com/questions/15739263/phantomjs-click-an-element
    });
});

不要忘了覆盖/抵消page.onPageCreated从主网页就离开了。



文章来源: PhantomJS executing JavaScript in a popup for data extraction