C# 通过单击WatiN中的元素集合按类进行解析
我正在本网站上使用WatiN: 我试图通过按类名单击每个h3标记来循环浏览每个页面。页面上没有href,我相信当点击h3时,页面使用javascript加载下一页 这是我目前的代码:C# 通过单击WatiN中的元素集合按类进行解析,c#,xpath,foreach,watin,C#,Xpath,Foreach,Watin,我正在本网站上使用WatiN: 我试图通过按类名单击每个h3标记来循环浏览每个页面。页面上没有href,我相信当点击h3时,页面使用javascript加载下一页 这是我目前的代码: types = doc.DocumentNode.SelectNodes("//h3[@class='AbbrPrsnttn_PrsnttnNm']"); foreach (HtmlNode type in types) {
types = doc.DocumentNode.SelectNodes("//h3[@class='AbbrPrsnttn_PrsnttnNm']");
foreach (HtmlNode type in types)
{
desc = type.InnerText.CleanText();
browser.div(Find.ById("ProdPrsnttnGrpCntnr")).Element(Find.ByClass("AbbrPrsnttn_PrsnttnNm")).Click();
System.Threading.Thread.Sleep(5000);
types = doc.DocumentNode.SelectNodes("//h3[@class='AbbrPrsnttn_PrsnttnNm']");
doc2.LoadHtml(browser.Html);
partTable = doc2.DocumentNode.SelectSingleNode("//div[@class='ItmTblGrp']");
MineNext(doc, doc2, browser, typeUrl, types, desc, partTable);
}
最重要的是
browser.div(Find.ById("ProdPrsnttnGrpCntnr")).Element(Find.ByClass("AbbrPrsnttn_PrsnttnNm")).Click();
当我运行这段代码时,它会单击第一个类“abbrpsnttn_prsntttnnm”,但当我返回到这个页面时,它会再次尝试加载名为“黑色氧化物合金钢”的相同元素。它会一遍又一遍地加载它,因为它不知道如何区别具有相同类名的其他H3。有没有办法收集这些元素,然后在集合中运行一个foreach循环,并使用WatiN分别单击每个元素?谢谢大家没有回答这个问题,因为它让我自己能够解决这个问题。给了我在工作中最大的感受
var h3s = browser.Div(Find.ById("ProdPrsnttnGrpCntnr")).ElementsWithTag("h3").ToArray();
for (int i = 1; i < h3s.Count(); i++)
{
h3s[i].Click();
System.Threading.Thread.Sleep(5000);
types = doc.DocumentNode.SelectNodes("//h3[@class='AbbrPrsnttn_PrsnttnNm']");
doc2.LoadHtml(browser.Html);
partTable = doc2.DocumentNode.SelectSingleNode("//div[@class='ItmTblGrp']");
MineNext(doc, doc2, browser, typeUrl, types, desc, partTable);
h3s = browser.Div(Find.ById("ProdPrsnttnGrpCntnr")).ElementsWithTag("h3").ToArray();
}
var h3s=browser.Div(Find.ById(“prodprsnttngrpcntrn”)).ElementsWithTag(“h3”).ToArray();
对于(int i=1;i