我有一个简单的代码,帮我爬到谷歌结果页的第2页:错误当进行循环抓取谷歌下一个页面华廷
var ie= new IE();
ie.Link(Find.ByText("2")).Click();
我要的是爬行到更下一个页面,在输入的页面的数量,让我作出这样一个循环:
string[] page = null;
for (int i = 0; i < NumOfPage; i++)
{
Array.Resize<string> (ref page, i+1);
page[i] = "\"" + i.ToString() + "\"";
}
int count=2;
while (count<NumOfPage)
{
ie.Link(Find.ByText(page[count])).Click();
count++;
}
但结果是它暂停在第一页,无爬行到下一个页面。看起来循环不起作用。哪里有问题???
不,你还没有真正提供足够的信息。例如,当您通过代码进行调试时,会发生什么情况?什么是'NumOfPage'? (为什么你要使用数组,为什么当'for'循环会更简单时,你使用'while'循环?) –
NumOfPage是我想要浏览的页面数,例如:10。 Num Of Page是在文本框中输入的。虽然或For不是一个问题的人,只要语法是正确的。我已经放弃了,页面[我] =“我”,因为我想要的。所以everthing似乎是正确的,这就是我不知道为什么它不工作的原因 – vyclarks
那么你没有说什么当你在你的循环内通过时发生了什么。我还建议你将'ie.Link(Find.ByText(page [count]))。单击()'分成三步:对Find.ByText的调用,对Link的调用和调用到'点击'。这将使调试更容易。 –