저는 프로그래머가 아니며 (더 많은 스크립트 작성자) AutoIt을 사용하여 매우 빠른 스크립트를 작성했습니다! HP의 웹 사이트에서 우리가 보유한 컴퓨터 목록에 정보를 수집합니다. 나는 좀 더 "전문가"로 만들기 위해 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";
}`