【发布时间】:2018-11-04 11:58:33
【问题描述】:
嗨,我是网络抓取的新手,一直在尝试使用 Selenium 在 python 中抓取 forum
我试图让 Selenium 单击“下一步”直到最后一页,但我不知道如何打破循环。我在使用定位器时遇到了问题:
当我通过部分链接找到下一个按钮时,自动点击将继续到下一个线程,例如第1页->第2页->下一个线程->下一个线程的第1页->下一个线程的第2页
while True:
next_link = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Next")))
next_link.click()
当我通过类名找到下一个按钮时,自动点击会在到达最后一页时点击“上一个”按钮
while True:
next_link = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "prevnext")))
next_link.click()
我的问题是:
- 我应该使用哪个定位器? (按类别或部分链接或任何 其他建议?
- 如何打破循环,使其在到达 最后一页?
【问题讨论】:
-
分享分页块的 HTML 代码。还为到达和未到达最后一页的情况共享“下一步”按钮的 HTML
-
你可以使用任何你想要的选择器,如果它工作的话。在这种情况下,我通常使用 id 或 xpath。插入带有可以确定最后一页的条件的 If 语句,并在其中插入
break;语句
标签: python selenium web-scraping