我在表中有一行:
//*[contains(text(), 'Cape Town')]
和删除图形:
//*[contains(@id, 'DeleteLinkButton')]
在表中。
如何单击//*[contains(@id, 'DeleteLinkButton')]
行//*[contains(text(), 'Cape Town')]
?
如果您想找到一个与另一个节点相关的 XPath 节点,那么在大多数情况下,您不想使用以/
or开头的绝对路径//
,而是使用相对路径,.//*[contains(@id, 'DeleteLinkButton')]
因为这样会找到上下文节点的后代其中id
属性值包含DeleteLinkButton
.
因此,在浏览器中使用 Javascript,您将拥有例如
var myRow = ...;
然后你可以打电话
myRow.ownerDocument.evaluate('.//*[contains(@id, 'DeleteLinkButton')]', myRow, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();