2017-03-20 3 views
0

これは私に困ってしまった。通常、私はFirebug機能を使用してxpathを取得しますが、今回は動作していないようです。xpathを決定する際に問題がある

私たちは米国と英国のウェブサイトを持っています。 Firebugのxpathは米国版では動作しますが、英国版では動作しません。私がFirebugを使ってxpathを取得した場合、それは両方のサイトの正確な同じxpathですが、サイトの米国版で動作し、サイトの英国版では失敗します。

<a class="ng-scope" ng-click="flightSearch.sort.$select(featuredItinerary.sortOrder)" tooltip=""> 
    <h3 class="ng-binding">Fastest</h3> 
     <div class="row sort-block-row"> 
     <div class="col-xs-12"> 
      <h2 class="ng-binding">$283</h2> 
     </div> 

私は$ 283の値をキャプチャしたい:ここ

はHTMLです。この値は常に変化します。ここで

はFirebugのは、XPath値がある私に言っているものです。

//html/body/div[2]/main/div/ui-view/ui-view/section/div/div[2]/div/ul/li[2]/a/div/div[1]/h2 

誰もがより良いのXPath値を持っている私が試してみて、それが両方のサイトのために働くを期待できますか? XPathの

+2

これは本当に私にとっては些細な脆弱な恐ろしいxpathです。あなたがHTML DOMを提供できるなら、私はあなたに良いxpathを得るのを助けることができます。 – DebanjanB

+0

可能であれば、サイトの米国版と英国版をリンクしてください。それ以外の場合は、関連するHTMLのいくつかとともに、必要な要素のHTMLを投稿してください。 – JeffC

+0

私はURLを投稿できませんが、元の投稿を関連するHTMLで更新します。 – Sulteric

答えて

0

は、必要な値を取得する手助けになるはずです:

//a/h3[text()='Fastest']/descendant::h2 
0

はあなたがFastest価格にアクセスしようとしていると仮定すると、xpath

の下にこれらのいずれかをお試しください。

説明:Fastestとしてテキストを一致させるためにtextメソッドを使用して<h3>タグを使用してXPathを開始します。次にfollowingキーワードを使用して<h2>タグに進みます。 <h2>タグは価格を考慮しているためです。

//h3[contains(text(), 'Fastest')]/following::h2 

OR

説明:使用class<div>タグの属性。その後、<h2>タグに進んでください。あなたのタグは価格を考慮しているからです。

//div[@class='col-xs-12']/h2 
+0

あなたの問題を解決した場合は、この回答に「Accepted」と記入してください。 –

関連する問題