CSS селектор внутри XPath - PullRequest
       3

CSS селектор внутри XPath

1 голос
/ 25 января 2012

Можно ли указать селектор CSS внутри XPath?По сути, я хочу найти элементы, которые удовлетворяют как .myClass div, так и div[contains(., 'Hello!')].

1 Ответ

4 голосов
/ 25 января 2012

Нет, вы не можете объединить синтаксис селектора CSS и синтаксис XPath в одном выражении.Ни один из языков не имеет функции, позволяющей передавать выражение из другого.

Вы можете включить селектор CSS в XPath только как XPath , что означает, что вам нужно будет перевести его самостоятельно,В вашем случае вот результирующее выражение XPath:

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

Конечно, это зависит от того, что вы можете сделать с помощью селекторов CSS или XPath.Например, , если бы псевдокласс :contains() не был удален из CSS3 , вы могли бы также использовать этот селектор CSS:

.myClass div:contains('Hello!')

Но этобыл удален из спецификации, поэтому вы сможете использовать его только в качестве селектора jQuery или локатора Selenium CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...