这个让我难过。通常我会使用Firebug功能为我获取xpath,但这次它似乎不起作用。
我们的网站有美国和英国版本。 Firebug的xpath适用于美国版本,但不适用于英国版本。如果我使用Firebug获取xpath,它就是两个站点的完全相同的xpath,但它适用于该站点的美国版本,并且在英国版本的站点上失败。
这是HTML:
<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美元的价值。这个值会不断变化。
以下是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值,我可以尝试并希望它适用于这两个网站?
答案 0 :(得分:0)
以下 xpath 应该能够帮助获取所需的值:
//a/h3[text()='Fastest']/descendant::h2
答案 1 :(得分:0)
请尝试以下xpath
假设您要访问Fastest
价格。
说明:使用<h3>
方法使用text
标记开始您的xpath,将文字与Fastest
相匹配。然后使用<h2>
关键字继续following
代码。因为您的<h2>
代码会考虑价格。
//h3[contains(text(), 'Fastest')]/following::h2
OR
说明:使用class
标记的<div>
属性。然后继续使用<h2>
标记。因为您的代码是考虑价格。
//div[@class='col-xs-12']/h2