Je ne suis pas vraiment un programmeur (plus d'un scripteur) et j'ai écrit un script très rapide en utilisant AutoIt! pour recueillir des informations sur le site Web de HP sur une liste d'ordinateurs que nous avons. J'ai pensé que j'essaierais de le porter sur C# pour le rendre un peu plus "professionnel".Obtenir des informations à partir de la page Web
Le code lit dans un fichier contenant un code de produit, numéro de série. Il place ensuite cette information dans un DataGridView. Il y a trois colonnes, la troisième étant la date de début (ce que je cherche).
Voici ce que j'ai jusqu'à présent. De là, je suis perdu quant à ce qu'il faut faire ensuite. La page Web va à la page suivante, mais je ne comprends pas comment obtenir les informations dont j'ai besoin (la première date de début - qui est le moment où la garantie a commencé). En AutoIt! c'était le cadre 19 et ensuite j'ai analysé cela. Je ne sais tout simplement pas comment le faire en C#.
Tous les pointeurs seraient grandement appréciés.
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";
}`