我正在使用watin dll浏览网页,点击li
标记中的链接,转到下一页,获取一些数据,返回上一页并点击下一个链接{ {1}}标记。
我可以使用li
标记中的一个链接执行此操作。我希望li
下的所有li
标记点击每个链接,然后执行上述步骤。如何获取所有ul <classname>
并遍历每个页面?
页面的HTML代码如下:
li
答案 0 :(得分:1)
您可以尝试使用此代码(Linq to XML)
var xdoc = XDocument.Load(yourFile);
var terms= from term in xdoc.Descendants("ul")
select new
{
Class= term.Attribute("class").Value
};
foreach(var li in terms)
{
Console.Write(li.Class);
}
答案 1 :(得分:1)
试试这个:
LinkCollection links = ie.Links;
foreach (var link in links)
{
link.Click();
// Do something
ie.Back();
}
答案 2 :(得分:1)
HTH!
private void CrawlSite()
{
int idx = 0;
do
{
idx = this.ClickLink(idx);
}
while (idx != -1);
}
private int ClickLink(int idx)
{
WatiN.Core.Browser browser = GetBrowser();
ListItemCollection listItems = browser.List("ul_classname").ListItems;
if (idx > listItems.Count - 1)
return -1;
Link lnk = listItems[idx].Link(Find.ByClass("a class_name"));
lnk.Click();
//TODO: get your data
browser.Back();
return idx + 1;
}