使用 geckoWebBrowser 获取标签文本的值
grab value of a tag text using geckoWebBrowser
检查下面的代码。我正在开发一个 c# 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>
GetElementsByTagName
通过 HTML 选项卡名称获取元素。 (例如 a、跨度、div 等)
类似这样的事情应该可以做到(假设您的文档中只有一个 'a'):
element.GetElementsByTagName("a")[0].FirstChild.NextSibling
获取 'a' 中的第二个元素,如果那是你想要的。
检查下面的代码。我正在开发一个 c# 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>
GetElementsByTagName
通过 HTML 选项卡名称获取元素。 (例如 a、跨度、div 等)
类似这样的事情应该可以做到(假设您的文档中只有一个 'a'):
element.GetElementsByTagName("a")[0].FirstChild.NextSibling
获取 'a' 中的第二个元素,如果那是你想要的。