2010-10-02 12 views
10

Skrobie witrynę korzystającą z Javascriptu do dynamicznego zapełniania zawartości strony za pomocą pakietu Agility Html.Pakiet Agility Html: znajdź węzeł komentarza

Zasadniczo szukałem XPATH "\\div[@class='PricingInfo']", ale ten węzeł div był zapisywany w DOM za pomocą Javascript.

Tak więc, po załadowaniu strony przez pakiet Agility Html nie można znaleźć XPATH wspomnianego powyżej.

Okazuje się, że jest komentarz przed konkretnym blokiem skryptu, który chcę przeanalizować.

<!--Module 328 Buying Options Table--> 
<script type="text/javascript" language="JavaScript"> 
    var data = { 
     price: 30.00 
    } 
</script> 

W tym miejscu istnieje wiele bloków scenariusz i tak musiałbym go zawęzić przez stwierdzenie to automatycznie wygenerowany komentarz <!--Module 328 Buying Options Table--> i rodzeństwo tego węzła będzie poprawny blok skryptu.

Każdy pomysł, w jaki sposób mogę wyszukać konkretny komentarz, a następnie uzyskać blok sąsiedniego skryptu?

Dziękujemy!

+1

+1 za nie używanie wyrażeń regularnych! – TrueWill

Odpowiedz

15
htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script") 
+0

pracował jak urok. Dziękuję Ci! Teraz potrzebuję sposobu na zanalizowanie obiektu JavaScript. – Abe

+0

Wystarczy dodać jeszcze jedną rzecz. Po otrzymaniu skryptu udało mi się przeanalizować potrzebne informacje, używając wyrażeń regularnych. dzięki! – Abe

Powiązane problemy