python - 动态和变化的 XPATH
问题描述
我正在编写一个脚本来使用硒浏览网页。我通常只是根据 XPATH 查找并选择所有元素。但是,xpath 的元素之一似乎每周左右都会略有变化。如何在不受动态 XPATH 约束的情况下选择或找到该元素?
这是我当前选择元素的方式:
driver.find_element_by_xpath('//*[@id="footable_213701"]/tfoot/tr/td/div/ul/li[15]/a')
这是元素和属性
<li class="footable-page-nav" data-page="next">
<a class="footable-page-link" href="#">></a>
</li>
我需要选择“>”按钮导航到下一页。我无法通过 class="footable-page-link" 进行选择,因为其中的数量是动态的,所以我不知道该选择哪一个。
解决方案
有几种方法可以在 xpath 中尝试,
1)点击基于数据页的锚点——下一步
//li[@data-page="next"]/a
2)点击'>'使用它作为文本,
//li[@class="footable-page-nav"]/a[contains(.,'>')]
或者简单地说,
//a[contains(.,'>')]
推荐阅读
- ionic-framework - ionic 4 - 如何在 ion-header 中对长字符串进行自动换行
- mysql - SELECT where not exists with another select 语句
- javascript - jqGrid - colNames 和 <> colModel 的长度!错误
- shell - 为什么使用 here-doc 时,`vim -E` 总是以非零退出代码退出?
- javascript - 无法读取未定义的属性“childNodes”,但列表有效
- react-native - react-native-aws3 :必须提供带有对象内容类型的 `contentType` 选项
- php - ZF3 高级路由 - 带有动作参数的父子路由
- c - 用于 sockaddr_un 的 C 中未使用的变量
- shell - How to convert US phone numbers into E.164 format using shell scripting?
- java - EnumSet 类,在运行时获取元素类型