2017-06-07 17 views
0

私は既にxpathを使用することを学んでいますが、ここではちょっと固まっています - http://phptravels.com/requirements/です。誰でもこのウェブサイトの "Demo"ハイパーリンクのxpathを見つける方法を教えてください。私は単に//a[text()= 'Demo ']を使いました。空白を念頭に置いてください。スパン要素の下にアンカー要素のxpathを取得できません

+0

は、ここでのスタイルとコードを投稿してください。 – Edwin

+0

// span/a [contains(text()、 'Demo')] – Ankur

答えて

0

てみてくださいを使用してください:ここでは

//nav[@id='main-menu']/ul/li/span/span/a[contains(text(), 'Demo')] 
+0

私のコードで問題を知りたい - // [text()= 'Demo'] –

+0

@AshishSinghあなたの質問ヘッダーは 'span要素の下にアンカー要素のxpathを得ることができません。 IMOあなたは答える必要があります。あなたはいつも新しい要件を書類と説明を求めて新しい質問を提出することができます。ありがとう – DebanjanB

0

空白は問題です。あなたはこのXPathの使用を検討してすることができ、持続的であるidでXPathをバインドする代わりに、平等のcontains

//a[contains(text(), 'Demo')] 

それとも

//a[contains(., 'Demo')] 
+0

containsを使用していて、動作しています。この問題は、// [text()= 'Demo']と同様に動作することが問題です。 –

+0

@AshishSingh必ずしもそうではありません。 '='完全一致を確認します。最小の差でさえ、このチェックが失敗する原因になります。あなたの場合、空白部分は実際には新しい行にあります。 – Guy

0

equalsとし、 @Guyを記述したようにcontains(またはstarts-with)を使用する方が良いでしょう

driver.findElement(By.xpath("//a[text()='Demo\n    ']")).getText(); 

要素の実際のテキスト値を取得する - あなたはこれを使用することができます。

driver.findElement(webElement).getAttribute("text") 
関連する問題