首页 > 解决方案 > Selenium Python - 执行操作,单击下一页,重复直到最后一页

问题描述

我正在尝试在网页上执行操作,单击下一步按钮,然后重复该操作,直到到达最后一页。我尝试使用 StackOverflow 上类似问题的答案,但我无法让它们工作。现在唯一发生的是网页打开。我对网页做任何事情的代码都没有发生。我的代码如下。谢谢你的帮助!从 selenium 导入 webdriver 从 webdriver_manager.chrome 导入 ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://obamawhitehouse.archives.gov/briefing-room/speeches-and-remarks')

while True:
    next_page_btn = driver.find_elements_by_xpath("//li[@class = 'pagination-next']/a")
    if len(next_page_btn) < 1:
        print("No more pages left")
        break
    else:
        <MY CODE>
        WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Next'))).click() 

标签: pythonseleniumselenium-webdriver

解决方案


我查看了该站点,似乎pagination-next类不存在。相反,您正在寻找的“下一步”按钮具有类pager-next last

我建议然后改变这个:

next_page_btn = driver.find_elements_by_xpath("*//li[@class = 'pagination-next']/a")

为了这:

next_page_btn = driver.find_elements_by_xpath("*//li[@class = 'pager-next last']/a")

让我知道这是否有帮助!


推荐阅读