0

VB.net で Web ページを自動化しようとしていますが、ボタンをクリックするだけでコードがテキスト ボックスに値を入力できません。

Web ページの HTML は次のとおりです

<TD align=left height="25" width="350">&nbsp;&nbsp;
    <input type="text" name="UserName" size="20">
</TD>
<TD align=left height="25" width="350">&nbsp;&nbsp;
    <input type="password" name="Password1" size="20" maxlength="12">
</TD> 
<TD align=left height="25" width="350">&nbsp;
    <input type="button" onClick="UserVer();" value="Submit"name="BLogin">
</TD> 

私のVB.netコードは次のとおりです。

Dim doc As HtmlDocument = wc.Document
Dim link As HtmlElement
Dim links As HtmlElementCollection = wc.Document.All
Dim dom = doc.GetElementsByTagName("a")
Dim t As HtmlElement = wc.Document.All(Name)

For Each link In links
    If link.GetAttribute("name") = "UserName" Then
        link.SetAttribute("value", UNameTxt.Text)
    End If
Next
For Each link In links
    If link.GetAttribute("name") = "Password1" Then
        link.SetAttribute("value", UPassTxt.Text)
    End If
Next
For Each link In links
    If link.GetAttribute("value") = "Submit" Then

        link.InvokeMember("click")

        Exit Sub
    End If
Next
4

1 に答える 1

3

自動化しようとしているソースを制御できないため、WatiNなどのライブラリを使用して、次のように作業したい項目を選択することをお勧めします。

以下は、Google にアクセスして を使用して検索する例ですWatiN

' Go to URL for Google search
Dim browser As New IE("http://www.google.com/")

' Find the search text box by name and type text `WatiN` in the box
browser.TextField(Find.ByName("q")).TypeText("WatiN")

' Find the search button by name and click the button
browser.Button(Find.ByName("btnG")).Click()

名前、スタイル、ID などで要素を検索し、要素に対してアクションを実行できます。

于 2013-10-23T13:58:06.947 に答える