Javascript 通过浏览器控制台查看最后一个选定元素的XPath?
我有一个XPath:Javascript 通过浏览器控制台查看最后一个选定元素的XPath?,javascript,html,xml,selenium,xpath,Javascript,Html,Xml,Selenium,Xpath,我有一个XPath: $x((“//div[@class='ag-header-row']))[1] 这给了我一个divs数组。 末尾的[1]是必需的,因为还有其他行包含此类 我知道有关[last()]的信息,但不确定要将其插入何处 如何修改XPath以选择最后一个div 下面是元素的屏幕截图您对XPath表达式的调用 $x(("//div[@class='ag-header-row']"))[1] 表示选择具有给定类属性值的所有div元素,在JavaScript中,XP
$x((“//div[@class='ag-header-row']))[1]
这给了我一个div
s数组。
末尾的[1]
是必需的,因为还有其他行包含此类
我知道有关[last()]
的信息,但不确定要将其插入何处
如何修改XPath以选择最后一个div
下面是元素的屏幕截图您对XPath表达式的调用
$x(("//div[@class='ag-header-row']"))[1]
表示选择具有给定类
属性值的所有div
元素,在JavaScript中,XPath之外的元素取第二个(因为JavaScript数组从0开始,不像XPath那样从1开始)
不能将[1]
替换为[last()]
,因为last()
是一个XPath函数,而不是JavaScript函数
如果希望最后一个这样的div
将[last()]
移动到XPath中:
$x("(//div[@class='ag-header-row'])[last()]")
另见:
- (请参见“基于多个列出的类中的一个类属性值进行选择的习惯用法”。)
$x(“//div[@class='ag-header-container']//div[@class='ag-header-row']]/div[last()]”
试试(“//div[@ag-header-row']]”[count(//div[@class='ag-header-row'])”)
谢谢您的回复@JaSON我在谷歌控制台上试过,但出现了“count is not defined”错误。我希望使用[last()],因为我也想使用[first()],XPath中没有像first
这样的运算符。请尝试“(//div[@class='ag-header-row'])[last()]”
如果查看我的路径并返回一个div数组,则末尾有一个[1]。获取数组需要[1]。你的建议不起作用,因为它没有[1]。我不知道如何添加[last()]@JaSON:对,正如我已经说过的那样,[1]
是在JavaScript上下文(在浏览器控制台中)而不是XPath中应用的。选择正确的行需要[1]。我感兴趣的那一排是那个班的第二排。然后,我希望该行中的最后一个元素使用简化的HTML或XML示例创建一个文本,而不是作为图像来传达您的需求——您的散文描述非常不清楚。