如何为XPATH修复“不支持的定位器策略”,该策略包含有效的后继兄弟路径?

时间:2019-12-17 13:41:05

标签: python selenium xpath webdriver

我正在将Selenium用于Python 3.x和Chrome Webdriver。我想使用XPATH表达式定位一个价格元素。 HTML外观:

enter image description here

我对此元素的XPATH看起来是这样并且有效:

//td[contains(text(), 'Montant')]/following-sibling::td/span

我可以在控制台中通过此XPATH查找元素

$x("//td[contains(text(), 'Montant')]/following-sibling::td/span")

ChroPath插件和XPath帮助器插件也将此XPATH视为有效。 但是当我运行测试时,出现此错误:

  

selenium.common.exceptions.WebDriverException:消息:未知错误:   不支持的定位器策略:// td [contains(text(),'Sous   总计]] / following-sibling :: td / span(会话信息:   chrome = 78.0.3904.108)(驱动程序信息:chromedriver = 2.38.552522   (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),平台= Linux   4.15.0-70-通用x86_64)

我不知道为什么这个XPATH会产生这个错误,以及如何解决这个问题。此外,另一个XPATH轴不会产生问题。

1 个答案:

答案 0 :(得分:0)

这可行吗?

'//td[contains(text(), 'Montant')]/../td[2]/span'