получить значение тега с помощью geckoWebBrowser - PullRequest
0 голосов
/ 27 сентября 2019

Проверьте код ниже.Я работаю над приложением ac # winform.Там я использую geckofx geckoWebBrowser, чтобы получить некоторые значения HTML.Из следующего html я хочу получить текст - Super Deluxe Round Silver Above Ground Winter Pool Cover, но вы можете увидеть, что я уже пытался получить этот текст, и это не работает.Любая идея, что я делаю не так?Как исправить?

c #:

url = @"https://www.homedepot.com/s/0723815359971";
geckoWebBrowser1.Navigate(url);
DateTime now = DateTime.Now;
do
{
    this.Refresh();
    Application.DoEvents();
} while (now.AddMilliseconds(5000) > DateTime.Now);
GeckoHtmlElement element = null;
var geckoDomElement = geckoWebBrowser1.Document.DocumentElement;
if (geckoDomElement is GeckoHtmlElement)
{
    element = (GeckoHtmlElement)geckoDomElement;
    innerHtml = element.InnerHtml;

    title = element.GetElementsByTagName("pod-plp__brand-name")[1].NodeValue;//this is what already tried but not works
    if (title != "")
    {
        MessageBox.Show(title);
    }

}

Html:

<a class="" data-pos="0" data-request-type="sr" data-pod-type="pr" href="/p/Swimline-16-ft-x-16-ft-Round-Silver-Above-Ground-Super-Deluxe-Winter-Pool-Cover-SD12RD/305609609">
    <span class="pod-plp__brand-name">Swimline</span> 
    Super Deluxe Round Silver Above Ground Winter Pool Cover
    </a>

1 Ответ

0 голосов
/ 28 сентября 2019

GetElementsByTagName получает элементы по имени вкладки HTML.(например, a, span, div и т. д.)

Что-то подобное должно сделать это (при условии, что в вашем документе указан один символ 'a'): element.GetElementsByTagName("a")]0].FirstChild.NextSibling

, который получает второй элемент в«а», если это то, что вы хотите.

...