改变 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]