Xpath, чтобы получить HREF, которые содержат идентификатор? - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь получить все ссылки, которые содержат идентификаторы. Я пытался по имени и цене, которые работают отлично, но не смог получить ссылки, связанные с этим материалом.

Для имени я использую этот код, но для получения ссылок он не работает.

//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 для ссылки: // * [@ id = "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 голосов
/ 19 января 2019

Хорошо, вот как я решаю свою проблему. Сначала он получает информацию о теге привязки, затем использует getattributevalue для получения значения href.

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