gpt4 book ai didi

selenium - 有时 xpath 不工作,但有时相同的 xpath 在运行自动化时工作

转载 作者:行者123 更新时间:2023-12-02 04:08:14 25 4
gpt4 key购买 nike

我写了一个像下面这样的xpath:

//div[contains(@id,'ext-element-')]/table[2]/tbody/tr/td/div/span

相同的 xpath 有时它会找到特定的元素。但有时它会抛出

ElementNotFoundException.

有什么方便的方法可以解决这个问题吗?

最佳答案

xPath 中的元素越多(例如 tbody/tr/td/div),它损坏的可能性就越大(有时出于神秘的原因)。

尽可能使用descendant来跳过它们,例如:

//div[contains(@id,'ext-element-')]/table[2]/descendant::span[contains(@id, 'spanId')]

或者只是双斜杠//(表示任何子项或子项):

  //div[contains(@id,'ext-element-')]/table[2]//span[contains(@id, 'spanId')]

是的,更短,但可读性较差(很容易错过斜杠,然后想知道发生了什么)。但仍然大多数人更喜欢双斜杠。

使用“轴名称”可以使您的 xPath 更加健壮。

以下是一些资源:

http://seleniumworks.blogspot.de/2014/03/xpath-selenium-uses-part-ii.html

https://www.simple-talk.com/dotnet/.net-framework/xpath,-css,-dom-and-selenium-the-rosetta-stone/

http://www.guru99.com/xpath-selenium.html

关于selenium - 有时 xpath 不工作,但有时相同的 xpath 在运行自动化时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32962004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com