我不是一個真正的程序員(更多的是scripter),並使用AutoIt編寫了一個非常快速的腳本!從惠普網站上收集我們所擁有的電腦列表中的信息。我想我會嘗試將它移植到C#以使其更「專業」一點。從網頁獲取信息
該代碼讀取包含產品代碼,序列號的文件。然後它將這些信息放到datagridview中。有三欄,第三欄是開始日期(我在找什麼)。
以下是我到目前爲止。從這裏我失去了下一步該做什麼。該網頁確實進入下一頁,但我不明白如何獲取我需要的信息(第一個開始日期 - 這是保修開始時的時間)。在AutoIt中!它是第19幀,然後我解析了它。我只是不太清楚如何在C#中做到這一點。
任何指針將不勝感激。
private void runner(int i)
{
int j = i;
bool loadFinished = false;
webBrowser1.DocumentCompleted += delegate { loadFinished = true; };
webBrowser1.Navigate("http://www11.itrc.hp.com/service/ewarranty/warrantyInput.do");
while (!loadFinished)
{
Thread.Sleep(100);
Application.DoEvents();
}
webBrowser1.Document.GetElementById("productnumber").InnerText = dt.Rows[j][0].ToString();
webBrowser1.Document.GetElementById("serialnumber1").InnerText = dt.Rows[j][1].ToString();
HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("SELECT");
foreach (HtmlElement elem in elems)
{
if (elem.Name.ToString() == "country")
{
elem.SetAttribute("value", "US");
}
}
int countelement = 0;
HtmlElementCollection col = webBrowser1.Document.GetElementsByTagName("INPUT");
foreach (HtmlElement element in col)
{
if (element.Name.ToString() == "")
{
if (countelement == 1)
{
element.InvokeMember("click");
}
countelement++;
}
}
dt.Rows[j][2] = "done";
}`