我正在尝试使用Puppeteer从网站的表格中抓取数据。但是,当表中的条目超过100个时,它会将其拆分到多个表中,并具有导航箭头。在我从表页面1的前100个条目中抓取了所有信息之后,我想单击下一个箭头“ >>”并转到下一个100个条目以对其进行抓取,依此类推。但是,在常规浏览器中单击“ >>”箭头不会导致新页面,而只是更新同一表的内容。
我检查了HTML,发现“ >>”按钮包裹在
中 <a href="/DailyReport?page=2" rel="next">
我尝试获取元素并单击它:
const nextButton = await page.$('ul.wrapper > li > a[rel=next]');
await nextButton.click();
await page.waitForSelector('.dataTable');
...但这不起作用。我确认nextButton
是我想通过登录externalHTML来获取的元素。
我也尝试过
await page.goto('www.originaldomain.com/DailyReport?page=2')
,但这不起作用,因为它尝试使用该URL加载新页面(未找到),而不仅仅是更新一个dataTable
元素。
在正常使用情况下,路由到/DailyReport?page=2
似乎触发了一些JavaScript更新表元素。我该如何复制单击“下一页”按钮以使用操纵符更新表?
编辑:从waitForElement(...)
到waitForSelector(...)
的错字