0

VB.NET を使用してボタン クリックを呼び出す方法がわかりません。

<form id="form-login" style="clear: both;" name="login" method="post" action="index.php">
<p id="form-login-username">
<label for="modlgn_username">Username</label>
<input id="modlgn_username" class="inputbox" type="text" size="15" name="username">
</p>
<p id="form-login-password">
<p id="form-login-lang" style="clear: both;">
<div class="button_holder">
<div class="button1">
<div class="next">
<a onclick="login.submit();"> Login</a>
</div>
</div>
</div>
<div class="clr"></div>
<input type="submit" value="Login" style="border: 0; padding: 0; margin: 0; width: 0px; height: 0px;">
<input type="hidden" value="com_login" name="option">
<input type="hidden" value="login" name="task">
<input type="hidden" value="1" name="19c1f84e789e8862fce26aa45d57a980">
</form>

私がやろうとしているのは、このコード行を使用して、Web ページが完全にロードされたらボタンのクリックを呼び出すことです。クリック以外はすべて機能しますが、ボタンを取得する方法がわかりません。

WebBrowser1.Document.GetElementsByTagName(" ... ").InvokeMember("click") 

...のためにたくさんのものを試しましたが、どれもうまくいきません。フィードバックをいただければ幸いです。

ソリューション:

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    If Me.WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
        WebBrowser1.Document.GetElementById("username").SetAttribute("value", "admin")
        WebBrowser1.Document.GetElementById("passwd").SetAttribute("value", "...")
        WebBrowser1.Document.GetElementById("form-login").InvokeMember("submit")
    End If
End Sub
4

1 に答える 1

0

代わりにフォームを送信する方が簡単な場合があります。

Dim form As HtmlElement = WebBrowser1.Document.GetElementById("form-login")

If form IsNot Nothing Then
        form.InvokeMember("submit")
End If
于 2013-05-10T19:26:57.680 に答える