在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/