在Selenium中查找元素时,XPath中的“ .//”、“//”、“./”和“ /”之间有什么区别?描述。

最佳答案

XPath定义:

.// - Find something that is a descendant of the current node
//  - Find something that is anywhere in the DOM
./  - Find a child node of the current node
/   - Find a child of the root of the document


但是,在Selenium中,。//和//不遵循XPath规范,并且具有相同的含义,在这种情况下,可以在DOM中的任何位置找到它们。

*编辑*

由于这似乎有些争议,因此这里有一些其他信息。

Selenium在其JavaScript原子中使用了邪恶的良好XPath(请参见Selenium codebase)。

优秀的XPath虽然速度很快,但不是完全兼容的XPath实现,并且在所有情况下都无法正确实现//,因此上面的断言要求您将.//和//都视为在DOM中查找任何内容的运算符(请参见this wicked good XPath issue

关于selenium - 使用XPath在Selenium中查找元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56287291/

10-16 18:33