我试图点击课程中的链接。它无法搜索标签,ID或类似内容,因为程序正在刷新页面,直到有可用的票证。
html代码如下所示:
<div class="items available">
<div class="item">
<a href="link.com">
</div>
//more item classes
<div class="items sold">
<div class="item">
<a href="link.com">
</div>
//more item classes
我认为我需要&#34;可用项目中的内容&#34;,然后项目的内容,我需要点击一个元素(只有一个元素)。但我怎么能这样做?
这是我认为需要做的事情。
foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("div"))
{
if (el.GetAttribute("className") == "items available")
{
foreach (HtmlElement el2 in //get all elements within items available)
{
if (el2.GetAttribute("className") == "item")
//i think it will get the first item class within items available
{
foreach (HtmlElement el3 in //get all a elements within item)
{
el3.InvokeMember("click");
break;
}
}
}
}
}
但这有可能吗?我希望如此!!
感谢!!!
答案 0 :(得分:0)
您可以使用HtmlAgilityPack,这是从页面中提取元素的推荐方法。
使用Nuget安装HtmlAgilityPack。以下是可能是您的起点的样本。
HtmlDocument _doc = web.Load(url);
var myClasses = _doc.DocumentNode.Descendants("div").Where(d =>
d.Attributes.Contains("items available")
);
然后你可以循环myClasses集合。