2014-08-28 50 views
-2
<div class="search-page-right-pannel"> 

<div class="search-page-heading-red" style="font-weight:400; margin-bottom:7px; margin-top:-4px; text-align:left"> 

Big Bazaar (Future Group) <b>(Future)</b> </div> 
    <img src="images/address-icon.png" alt="" />&nbsp; Knowledge House, Shyam Nagar Off Jogeshwari-Vikhroli Link Road         Jogeshwari (East)<br> 
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mumbai     Maharashtra , 400060 <div class="detail-line"><img src="images/call.png" alt="" /> (022) 30841300 66442200 61190000<!--<span onmouseover="TagToTip('Span2')" onmouseout="UnTip()"><img src="images/call.png" alt="" /> <u style="color: #3079af">click to view number</u></span>--> 
    <img src="images/website-icon.png" alt="" style="margin-left:80px;" /> <a href="http://www.bigbazaar.com" target="_blank" class="pglink">www.bigbazaar.com</a> <span style="float:right"> </span> 
</div> 

我想要的XPath的計算的XPath

知識大廈,希亞姆·格爾關Jogeshwari-Vikhroli連道Jogeshwari(東) 孟買馬哈拉施特拉邦,400060

並且還將phone_no和網站的元素分開

(022)308413 00 66442200 61190000 www.bigbazaar.com

+0

聽起來像你根本不需要html元素的XPath;您需要某些文本節點(即HTML元素的子節點)的XPath。您嘗試了哪些XPath表達式,結果如何? – LarsH 2014-08-28 15:54:16

回答

1

你可以嘗試XPath表達式,如:

//div[@class='search-page-right-pannel']/text()[3] 
  • pannel看起來像一個錯字,但我不知道是否它實際上拼的是你正在使用的網頁上的方式。
  • 這會得到指定div元素的第三個文本節點子元素。這可能是錯誤的數字,取決於空白處理。你可以嘗試[1][2]而不是[3],但無論如何它會變得脆弱。較不脆弱的是利用img元素:

//div[@class='search-page-right-pannel']/img[@src='images/address-icon.png']/ 
    following-sibling::text()[1] 

同樣,電話號碼可以使用

//div[@class='search-page-right-pannel']/img[@src='images/call.png']/ 
    following-sibling::text()[1] 

和域名來選擇:

//div[@class='search-page-right-pannel']/a[@class='pglink']/text() 

看看這些表達式是如何工作的。我寧願幫助你學會如何釣魚,而不僅僅是給你一條魚。如果您有任何問題,請告訴我。