Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过单击WatiN中的元素集合按类进行解析_C#_Xpath_Foreach_Watin - Fatal编程技术网

C# 通过单击WatiN中的元素集合按类进行解析

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) {

我正在本网站上使用WatiN: 我试图通过按类名单击每个h3标记来循环浏览每个页面。页面上没有href,我相信当点击h3时,页面使用javascript加载下一页

这是我目前的代码:

         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