如何抓取页面然后执行按钮单击以转到下一页以使用Selenium和BeautifulSoup进行抓取

时间:2019-09-30 19:37:14

标签: python-3.x selenium beautifulsoup

我正在抓取一个包含带有子tr和td标签的表的网页。我能够正确地抓取第一页。但是要转到下一页,我需要单击按钮。我需要一些帮助来了解这一点。我正在使用硒和美丽汤来获得页面响应。

button标记的html如下:

<input type="submit" name="RadGrid1$ctl00$ctl03$ctl01$ctl28" value=" " onclick="return false;" title="Next Page" class="rgPageNext">

我尝试过的示例代码:

for i in range(0,14):

  # code for scraping 1 page

   some code here

   btn = driver.find_element_by_xpath(xpath)

   btn.click()

单击该按钮会转到下一页,但无法抓取2-14页中的任何一页的信息。我尝试将我抓取的1页代码放入for循环中,并在最后添加了按钮单击逻辑。它会刮取第一页,单击按钮,但不会进入下一页。而是循环回到第1页。

1 个答案:

答案 0 :(得分:0)

据我了解,我认为您尚未将新网址更新为Beautifulsoup。单击后,您将获取新页面的当前URL,然后执行抓取。然后只有它会刮擦新页面,否则它将包含旧页面的网址,因此仅刮擦该页面。