2017-07-08 14 views
2

私はC#言語で.NETのWebブラウザを使用してWebページ上のフォームを自動入力しようとしています。送信ボタンを放つ必要がありますが、名前やIDはありません。種類と値はすべてあります。IDまたは名前のない入力送信時に「クリック」イベントが発生しましたか?

タイプは「提出」に等しいと値が、私はサインアップのためにそれをやった相続人はどのように

「サインイン」に等しい:

webBrowser1.Document.GetElementById("email").InnerText = email; 
webBrowser1.Document.GetElementById("password").InnerText = password; 
webBrowser1.Document.GetElementsByTagName("input")["register"].InvokeMember("click"); 

しかし、今回、送信ボタンはdoesnの名前を持っていない、誰かが正しいタイプの要素を得るために正しい方向に私を導くことができますか?

HTML:

<form accept-charset="utf-8" method="post"> 
    <div class="field"> 
     <label for="email">Email or Username</label> <span class="required">*</span> <input class="email" id="email" name="email" size="32" type="text"> 
    </div> 
    <div class="field"> 
     <label for="password">Password</label> <span class="required">*</span> <input id="password" name="password" size="16" type="password"> 
     <p class="tip"><a href="/signin/reset" id="reset_password_link">I don't know my password</a></p> 
    </div> 
    <div class="field"> 
     <input id="persistent_hidden" name="persistent" type="hidden" value="f"> <input checked="checked" id="persistent" name="persistent" type="checkbox" value="t"> <label for="persistent">Keep me logged in</label> 
    </div> 
    <div class="submit"> 
     <input id="redirect_path" name="redirect_path" type="hidden"> <input type="submit" value="Sign In"> or <a class="cancel" href="/">Cancel</a> 
    </div> 
</form> 
+0

全体 ''

要素を含めるようにHTMLスニペットを更新してください。 – mjwills

+0

質問をフォーム全体に更新しました。 –

答えて

1

試し:

foreach(HtmlElement elem in webBrowser.Document.getElementByTagName("input")) { 
    if (elem.GetAttribute("value") == "Sign In") { 
     elem.InvokeMember("Click"); 
    } 
} 
+0

非常にいいです、ありがとう.. –

関連する問題