1. ホーム
  2. html

[解決済み] XPathでCSSクラスを指定して要素を検索するにはどうすればよいですか?

2022-03-14 08:36:20

質問

私のウェブページには div と共に class という名前の Test .

で見つけるにはどうしたらいいのでしょうか? XPath ?

解決方法は?

このセレクタは動作するはずですが、あなたの好みのマークアップに置き換えれば、より効率的になります。

//*[contains(@class, 'Test')]

あるいは、シーク要素が div :

//div[contains(@class, 'Test')]

のようなケースにもマッチします。 class="Testvalue" または class="newTest" で、コメントで提供された@Tomalakさんのバージョンは より良い :

//div[contains(concat(' ', @class, ' '), ' Test ')]

もし、正確にマッチングさせたいのであれば、normalize-space 関数を使用して、クラス名の周りにある空白文字を取り除くこともできます (@Terry が言っていたことです)。

//div[contains(concat(' ', normalize-space(@class), ' '), ' Test ')]

これらのすべてのバージョンにおいて、与えられた条件に対してドキュメント内のすべての要素を検索したい場合を除き、*は実際にマッチさせたい任意の要素名で置き換えられるのがベストであることに注意してください。