我不是一个真正的程序员(更多的是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";
}`