python - 如何单击分页中的下一个按钮,其中下一个按钮没有类?

标签 python selenium pagination webdriver

我在使用 selenium Web 驱动程序从网站上抓取所有内容时遇到了一些麻烦。我遇到的问题是分页上的下一个按钮没有类,这里是分页部分的 html:

<div>
     <ul class="pagination">
         <li class="disabled>
              <a href="#">
                  <span>« </span>
                  First
              </a>
         </li>
         <li class="disabled">
              <a href="#">
                  <span>‹ </span>
                  Previous
              </a>
         </li>
         <li class="disabled">
              <a href="#">
                  1
              </a>
         </li>
         <li class="">
              <a href="#" rel="next">
                  2
              </a>
         </li>
         <li class="">
             <a href="#">
                 3
             </a>
         </li>
         #........ same again for pages 4 and 5
         <li class="">
             <a href="#" rel="next">
                 Next
                 <span> ›</span>
             </a>
         </li>
         <li class="">
             <a href="#">
                 Last
                 <span> »</span>
             </a>
         </li>

这是我用来单击具有“分页”类的元素的代码:

while True:

# get data from page here

# click next page
    try:
        element = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'pagination')))
        element.click()
    except TimeoutException:
        # no pages left
        break

我遇到的问题是它只识别分页中的第一个可点击按钮,这意味着它会在单击第 2 页(启用“第一个”按钮)、然后单击第一个按钮和切换之间交替返回第 1 页。有没有办法进一步缩小可点击元素的范围,使其仅点击下一个按钮?

最佳答案

尝试等待下一步按钮:

element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.pagination a[rel=next]'))

关于python - 如何单击分页中的下一个按钮,其中下一个按钮没有类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66628438/

相关文章:

python - 如何在 Django 中进行 ajax 分页?

python - 使用 Python tensorflow 进行预测和预测

python - 检查要求是否是最新的

java - 如何使用selenium webdriver配置网页语言

mysql - 使用限制/偏移时mysql查询的重叠结果

django 分页 - 记住跨页面选中的复选框

python - 从python中的txt文件中提取字符之间的字符串

python - 对具有最接近值的整数列表进行分组

python - 在 Python 中使用 Selenium 和 PhantomJS 时出现异常错误

java - 如何使用 Java 在 selenium WebDriver 中按 CTRL+T 和 CTRL+TAB?