2017-08-13 4 views
0

「日付」という語を含むクラスを持つHtmlPageの要素を検索したいと思います。私は、次のいずれにもマッチしたいHtmlUnit文字列を含むクラス名で要素を取得

すなわち:

<div class = 'date'> August 13 2017 </div> 
<span class = 'pubDate'> August 12 2017 </div> 
<div class = 'datePublished'> August 10 2017 </div> 

まさに「日付」を一致させるために、私は次のように使用しています:

正常に動作している
HtmlPage page; 
List<HtmlDivision> date = page.getByXPath("//div[@class='date']"); 
System.out.println(date.get(0)); 

を。

ただし、日付(大文字と小文字は区別されません)を含むクラス名を持つ要素に一致させるには、これを変更する必要がありますか?

答えて

1

"date"が含まれていることを属性classを持つすべてのdivの要素を一致させるために、XPathの下に試してみてください。

//div[contains(@class, 'date')] 
+0

が、私はまた、これは動作しません(「pubDateの」と同様に合わせて)大文字と小文字を区別したいです'大文字の'日付を持つ人のために –

+0

この場合、 '/ div [matches(@class、 'date'、 'i')]'を試すか、ツールが 'matches()'、 '' // div [contains(@class、 'date')またはcontains(@class、 'Date')] ' – Andersson

+0

大丈夫ですが、どの要素に一致させるのですか? divだけじゃない?任意のdivやスパンや日付を含むクラスを持つ要素のように? –

関連する問題