我想在正确的列中获取包含tr
的{{1}}元素。我需要使用一个选择器来完成它。
它找到元素是否存在:
span.selected
但它返回By.CssSelector("tr[role='row'].jqgrow td[aria-describedby$='Default'] span.selected")
IWebElement ..如何获得span.selected
IWebElement(使用CssSelector或XPath)?
答案 0 :(得分:3)
这样的东西可能适用于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选择器无法实现这一目标。
答案 1 :(得分:2)
我不相信CSS会让你这样做,因为你需要一个父选择器:
CSS selector for "foo that contains bar"?
您需要使用XPath,它能够根据孩子选择父母。您可以查看此帖子,了解有关使用XPath选择具有特定子节点的父级的信息: