XPath中的CSS选择器

时间:2012-01-25 15:23:05

标签: css xpath css-selectors

是否可以在XPath中指定CSS选择器?基本上,我想找到满足.myClass divdiv[contains(., 'Hello!')]的元素。

1 个答案:

答案 0 :(得分:4)

不,您不能将CSS选择器语法和XPath语法组合到单个表达式中。这两种语言都没有任何功能可以让您从另一种语言中提供表达式。

您只能将CSS选择器作为XPath 合并到XPath 中,这意味着您需要自己翻译它。在您的情况下,这是结果XPath表达式:

//*[contains(concat(' ', @class, ' '), ' myClass ')]//div[contains(., 'Hello!')]

当然,这取决于您使用CSS选择器或XPath可以实现的目标。例如,if the :contains() pseudo-class hadn't been dropped from CSS3,你也可以使用这个CSS选择器:

.myClass div:contains('Hello!')

但它已从规范中删除,因此您只能将其作为jQuery选择器或Selenium CSS定位器使用。