0

プログラムでボタンをクリックしようとしています。ボタンはウェブサイトの 3 ページ目にあります。id はありません。name 、 type 、および value だけです。ボタンの HTML コードを以下に示します。

<FORM NAME='form1' METHOD='post' action='/dflogin.php'>
<INPUT TYPE='hidden' NAME='txtId' value='E712050-15'>
<INPUT TYPE='hidden'NAME='txtassId' value='1'>
<INPUT TYPE='hidden' NAME='txtPsw' value='HH29'>
<INPUT TYPE='hidden' NAME='txtLog' value='0'>
 <h6 align='right'>
 <INPUT TYPE='SUBMIT' NAME='btnSub' value='Next' style='background-color:#009900;    color:#fff;'></h6></FORM> 

これらのコードをvb.net 2008 Express Editionで試しました...

For Each webpageelement As HtmlElement In allelements

            If webpageelement.GetAttribute("value") = "Next" Then

                webpageelement.InvokeMember("click")

            End If
        Next

そして2枚目

theElementCollection = WebBrowser1.Document.GetElementsByTagName("INPUT")

    For Each curElement As HtmlElement In theElementCollection

        ctrlIdentity = curElement.GetAttribute("innerText").ToString

        If ctrlIdentity = "Next" Then

            curElement.InvokeMember("click")

        End If

    Next

そして3つ目は

      Dim l_forms = WebBrowser1.Document.GetElementsByTagName("form")
        If l_forms.Count > 0 Then
            l_forms.Item(0).InvokeMember("submit")
        End If
and 4th one is

Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
Loop
WebBrowser1.Document.Body.InnerHtml = Replace(WebBrowser1.Document.Body.InnerHtml,"NAME='btnSub'", "NAME='btnSub' id='btnSub'") 'insert id into youre button
WebBrowser1.Document.GetElementById("btnSub").InvokeMember("click") 'click on btnSub

そして最後は

Dim i As Integer
        Dim allButtons As HtmlElementCollection

        allButtons = WebBrowser1.Document.GetElementsByTagName("input")

        i = 0
        For Each webpageelement As HtmlElement In allButtons
            i += 1
            If i = 5 Then
                webpageelement.InvokeMember("click")
            End If
        Next

これらのすべてのコードは、そのボタンをクリックできません。このボタンをクリックするための適切な解決策を提案してください。どうもありがとうございます

4

1 に答える 1

0

このようなものは、サーバー側の JavaScript および jquery ソリューションになります

string script = "$(document).ready(function() {$('input[name=btnSub]').trigger('click'); });";
ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", script, true);
于 2012-06-23T04:49:52.233 に答える