我想获取tr包含span.selected在正确列中的元素。我需要使用一个选择器来完成。
它查找元素是否存在:
By.CssSelector("tr[role='row'].jqgrow td[aria-describedby$='Default'] span.selected")
但它返回span.selectedIWebElement.. 我怎样才能获得tr[role='row'].jqgrowIWebElement(使用 CssSelector 或 XPath)?
我想获取tr包含span.selected在正确列中的元素。我需要使用一个选择器来完成。
它查找元素是否存在:
By.CssSelector("tr[role='row'].jqgrow td[aria-describedby$='Default'] span.selected")
但它返回span.selectedIWebElement.. 我怎样才能获得tr[role='row'].jqgrowIWebElement(使用 CssSelector 或 XPath)?
像这样的东西可能适用于 XPath
//tr[@role='row']
[contains(@class, 'jqgrow')]
[.//td[ends-with(@aria-describedby, 'Default')][.//span[contains(@class, 'selected')]]]
contains(@class, 'jqgrow')如果元素有多个类,用(@class and contains(concat(' ', normalize-space(@class), ' '), ' jqgrow '))(从 Python 借来的技巧)替换各种更安全(且可读性更差cssselect)
我不认为你可以单独使用 CSS 选择器来实现这一点。
我不相信 CSS 可以让你这样做,因为你需要一个父选择器:
您将需要使用 XPath,它能够根据孩子选择父母。您可以查看这篇文章以获取有关使用 XPath 选择具有特定子节点的父节点的信息: