python - 我需要使用 selenium 或 Beautiful Soup 访问下一页
问题描述
我想我已经尝试了所有的 .click() .submit... 所有不同类型的东西,但它没有做任何事情
当我尝试访问下一页时出现的内容如下,因为不是按钮或出现的网站我不知道该怎么做;所有页面中唯一变化的是值中的数字,这里出现 3
<ul class="pagination">
<li><span onclick="document.lisarq.pagina.value=3; document.lisarq.submit(); " onmouseover="this.style.cursor='pointer'" style="cursor: pointer;">3</span></li>
</ul>
在这种情况下,我唯一想做的就是访问下一页是 4Thanks!
解决方案
由于该元素是启用JavaScript的元素,因此要click()
访问第 4 页,您必须诱导WebDriverWait并且element_to_be_clickable()
您可以使用以下任一解决方案:
使用
CSS_SELECTOR
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.pagination>li>span[onclick*='4']"))).click()
使用
XPATH
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='pagination']/li/span[contains(@onclick, '4') and text()='4']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
推荐阅读
- python - 计算 Pandas 中两个值内的位置的计数
- matlab - 使用 MATLAB 的 GPU 功能计算 sum(a.*exp(b.*c),1) 的有效方法
- python - Postman 生成的 Python 脚本不起作用
- c# - 如何使用 LINQ 在 c# Windows 表单中显示结果值甚至为空
- r - 嵌套列表到数据框
- google-sheets - 为什么应用于包含时间和文本的范围的 Google 表格 SUM 函数返回十进制数
- java - MyBatis 无法加载位于项目资源文件夹中的配置 xml
- c++ - 如何从 std::vector 中搜索并返回项目
- java - 任务 ':app:compileDebugKotlin' java.io.IOException 执行失败
- mysql - json_contains 查询问题,例如