首页 > 解决方案 > APIFY 中的 scrapeAndClick 函数

问题描述

我在 APIFY 中遇到了以下问题。我想编写一个函数来保存当前页面的 HTML 正文,然后单击到下一页,保存 HTML 正文等。

我试过这个:

var result = []; 
    var scrapeAndClick = function() {   
        $("div.ui-paginator.ui-paginator-top.ui-widget-header.ui-corner-top").each(function() {

                result.push(
                $(this).html()               
                );


            //klikej na dalsi stranky

            var nextButton = $('a.ui-paginator-next.ui-state-default.ui-corner-all');

            console.log('Click next button');
            nextButton.click().delay(4000)


            });    

    };


    scrapeAndClick();

在 Google Chrome 控制台中,它只返回第一页的 HTML 正文。APIFY 不返回任何内容。

谁能看到,问题出在哪里?

如果有人对整个 Page 功能感兴趣:

async function pageFunction(context) {
    const {  log } = context;

    const searchSelector = 'div.ui-panel-content.ui-widget-content > button';

    //vyber "Gemeenschappelijk Landbouw Beleid" z Kies subsidie: 
    const subsidySelector = $("span.column2 > select.jsTruncate").val("10000");
    log.info('Select CAP ')
    subsidySelector    

    //klikni na Zoek
    log.info('Click search.')
    $(searchSelector).eq(0).click()



    //loopujeme dalsi stranky a ukladame html body



    var result = []; 
    var scrapeAndClick = function() {   
        $("div.ui-paginator.ui-paginator-top.ui-widget-header.ui-corner-top").each(function() {

                result.push(
                $(this).html()               
                );


            //klikej na dalsi stranky

            var nextButton = $('a.ui-paginator-next.ui-state-default.ui-corner-all');

            console.log('Click next button');
            nextButton.click().delay(4000)


            });    

    };


    scrapeAndClick();



    return result;
} 

StartURL 是这样的:https ://mijn.rvo.nl/europese-subsidies-2017

我在 APIFY 论坛(https://forum.apify.com/t/clickable-link-that-doesnt-change-the-url/361/3)上发现了一个老问题,但似乎是在旧版本上完成的APIFY 爬虫。

非常感谢您的帮助!

标签: javascriptjqueryapify

解决方案


推荐阅读