2017-05-23 32 views
0

xpathと内部テキストを使用してUIポップアップを検索しようとしています。ポップアップHTMLは、このようなものです:あなたは今日のプレイをしたいと思っ何xpathと内部テキストで要素を取得する方法は?

//のdiv [は(@innerTextを、「こんにちは含まれています?

Hello ? {some elements} What would you like to do today {more elements} Play or Die ? {Yes button, No button}. 

が、私はこのようなものを使用して、この要素を取得したいですまたはDie? ')]

どうすればよいですか?または、このポップアップを見つける良い方法はありますか? Idsや永久クラスはありません。さらに、DOM構造は可変である。正規表現を可能に

//div[matches(text(), 'Hello ?\w+ What would you like to do today \w+')] 

+0

が答えに投票アップを理解するだろう。デフォルトのパラメータであるとしてnormalize-space().を除去することができます。ありがとう! – Dekel

答えて

3

あなたは、XPath VER2の一致機能を使用することができるはずです。

0

インタリーブ要素に内部テキストが含まれていないと仮定すると、@innerTextの代わりに.を使用して、コンテキスト要素(この場合はdiv)内のすべてのテキストノードの連結を取得できます。 .normalize-space()を組み合わせて先頭と末尾の空白文字を削除し、連続する空白文字を1つの空白に正規化します。

//div[contains(normalize-space(), 'Hello ? What would you like to do today Play or Die ?')] 
関連する問題