Я на самом деле не программист (скорее сценарист) и написал очень быстрый сценарий, используя AutoIt! собирать информацию с веб-сайта HP по списку компьютеров, которые у нас есть. Я подумал, что попробую перенести его на C #, чтобы сделать его немного более «профессиональным».
Код считывает в файле код продукта, серийный номер. Затем он помещает эту информацию в представление данных. Есть три столбца, третий - дата начала (что я ищу).
Ниже то, что я имею до сих пор. Отсюда я заблудился относительно того, что делать дальше. Веб-страница действительно переходит на следующую страницу, но я не понимаю, как получить нужную мне информацию (первая дата начала, когда начинается гарантия). В 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";
}`