2012-01-25 25 views
1

XPathの内部にCSSセレクタを指定することはできますか?基本的には、.myClass divdiv[contains(., 'Hello!')]の両方を満たす要素を探したいと思います。XPath内のCSSセレクタ

答えて

3

いいえ、CSSセレクタ構文とXPath構文を1つの式に組み合わせることはできません。どちらの言語にも、他の言語の式を入力できる機能はありません。

CSSセレクタをXPath に組み込むことができるのはXPathであるため、自分で翻訳する必要があります。これはあなたがCSSセレクタやXPathので実行できるかに依存し、もちろん

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

:あなたのケースでは、ここでの結果のXPath式です。

.myClass div:contains('Hello!') 

しかし、あなたは唯一それがjQueryのセレクタとして動作するように取得することができますので、それは、仕様から削除されています:例えば、if the :contains() pseudo-class hadn't been dropped from CSS3は、あなただけのようにも、このCSSセレクタを使用することができただろうまたはSelenium CSSロケータ。

+0

'contains(@class、 'myClass')は' AmyClassman'にもマッチします。 'contains(concat( ''、@class、 '')、 'myClass')' –

+0

@lwburkのようなものを使う方が良いです。ありがとう!私は私の答えを更新しました。 – BoltClock