Xpath以获得包含ID的href?

时间:2019-01-19 12:36:10

标签: c# asp.net-mvc xpath html-agility-pack

我正在尝试获取所有包含id的链接。我已经尝试了名称和价格,它们可以正常工作,但无法获得与该物品相关的链接。

  
    

我正在使用此代码作为名称,但获取链接却不起作用。

  
//For Name
 var name=scorenodesdoc.DocumentNode.SelectNodes("//[contains(@id,'item')]/ul[1]/li1]/span");
//for Links
var Links= doc.DocumentNode.SelectNodes("//a[contains(@id, 'item')]/@href");
  
    

链接的xpath是:// * [@@ =“ item5d86882c07”] / div [1] / div / a

  

///这是我尝试获取href链接的代码

<li id="item5d86882c07" _sp="p2045573.m1686.l8" listingid="401689029639" class="sresult lvresult clearfix li" r="1">

    <div class="lvpic pic img left" iid="401689029639">
            <div class="lvpicinner full-width picW">

    <a href="https://www.ebay.com/itm/Microsoft-Xbox-One-X-White-Console-1TB-Forza-Special-Edition-Bundle-White/401689029639?hash=item5d86882c07:g:lgwAAOSwoZJcQY5s" class="img imgWr2">
<img src="https://i.ebayimg.com/thumbs/images/g/lgwAAOSwoZJcQY5s/s-l225.jpg" class="img" alt="Microsoft Xbox One X White Console 1TB &amp; Forza Special Edition Bundle - White'">
    </a>
            </div>
  </div>


</li>

1 个答案:

答案 0 :(得分:0)

好,这就是解决问题的方法。首先,它会获取锚标记信息,然后使用getattributevalue来获取href的值。

var URLnodes = doc.DocumentNode.SelectNodes("//*[contains(@id,'item')]/div[1]/div/a");
var AllURL = URLnodes.Select(node => node.GetAttributeValue("href",null));