改变 xpath 硒 python
Changing xpath selenium python
所以我 运行 遇到了我需要 90% 时间的问题
//*[@id='MainContent']/tbody/tr[18]/td[2]
虽然我需要 10% 的时间
//*[@id='MainContent']/tbody/tr[20]/td[2]
我想知道补偿此更改的最佳方法是什么。
这里是 table 的图片,以及 table 的 html 代码。
我需要捕获 3 Bedrooms
部分,有时 tr
元素会交换。大多数情况下,第一个 xpath 代码可以工作,但我需要一种更有效的方法来根据手头的情况确定要使用的 xpath。
我知道 selenium 有一个 starts-with 方法,但是这样我可以搜索实际的 TD 文本吗?
如何使用 Ttl Bedrms:
文本
//*[@id='MainContent']//td[contains(., `Ttl Bedrms:`)]/following-sibling::td
要捕获关于文本 Ttl Bedrms 的文本 3 Bedrooms,您可以使用以下解决方案:
XPath
:
//tr[@class='RowStyle']//td[contains(.,'Ttl Bedrms')]//following::td[1]
所以我 运行 遇到了我需要 90% 时间的问题
//*[@id='MainContent']/tbody/tr[18]/td[2]
虽然我需要 10% 的时间
//*[@id='MainContent']/tbody/tr[20]/td[2]
我想知道补偿此更改的最佳方法是什么。
这里是 table 的图片,以及 table 的 html 代码。
我需要捕获 3 Bedrooms
部分,有时 tr
元素会交换。大多数情况下,第一个 xpath 代码可以工作,但我需要一种更有效的方法来根据手头的情况确定要使用的 xpath。
我知道 selenium 有一个 starts-with 方法,但是这样我可以搜索实际的 TD 文本吗?
如何使用 Ttl Bedrms:
文本
//*[@id='MainContent']//td[contains(., `Ttl Bedrms:`)]/following-sibling::td
要捕获关于文本 Ttl Bedrms 的文本 3 Bedrooms,您可以使用以下解决方案:
XPath
://tr[@class='RowStyle']//td[contains(.,'Ttl Bedrms')]//following::td[1]