处理分页,单击元素父级

时间:2019-01-03 23:15:43

标签: javascript puppeteer

我正在尝试处理我页面中的分页,分页链接是这样的

<a href="nextpage.php"> <img src="pic.jpg" id="next"></a>

这是我单击此链接的代码

 while (has_next_page)
{
      // do some data scraping 

            if ( await page.$("img#next"))
            {

                console.log('clicking on next page');
                await  page.click('#next');

                await Promise.all([
                    page.waitForNavigation() ,
                    page.waitForSelector('#rowTbl'),
                ]).catch(function(){
                    throw new Error(tab_id + ' error waitning for rowTbl');
                })

            }
            else
                has_next_page = false ;
}

由于某种原因,它不起作用,即使单击后也无法导航到下一页..so,我想也许我必须单击a标签而不是img ...所以这是我的问题,我该如何点击img#next父母?

1 个答案:

答案 0 :(得分:0)

您应该可以使用.evaluate()来触发您不能使用选择器的元素的点击事件。

await page.evaluate(() => { document.querySelector("#next").parentNode.click(); });