我有一個簡單的代碼,幫我爬到谷歌結果頁的第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的調用和調用到'點擊'。這將使調試更容易。 –