ログインしようとしているWebページの途中で、次のコードがあります
<tr>
<td colspan="2" align="center"><!--mstheme--><font face="Trebuchet MS, Arial, Helvetica">
<br>
<a href="javascript:SubmitAction()">
<IMG SRC="images/logon.gif" WIDTH="47" HEIGHT="43" NATURALSIZEFLAG="3" BORDER="0">
</a>
<!--mstheme--></font></td>
クレデンシャルを取得してログインするSubmitAction()コードを実行したいと思います。「invokescript」を使用できるため、.NETからWebBrowserを使用すると問題なく動作します。ただし、shdocvwではこれを行うことはできません。特に要素にIDまたはタグがない場合、どうすればこのアクションを実行させることができますか?
私の関数は現在次のようになっています。
private void webBrowser1_DocumentCompleted(object pDisp, ref object URL)
{
while (webBrowser.ReadyState < SHDocVw.tagREADYSTATE.READYSTATE_LOADED) { }
//we are attempting to log in
if (loggingIn)
{
mshtml.HTMLDocumentClass doc = webBrowser.Document as mshtml.HTMLDocumentClass;
doc.getElementById("Username").setAttribute("value", "MLAPAGLIA");
doc.getElementById("Password").setAttribute("value", "PASSWORD");
mshtml.IHTMLWindow2 win = doc.parentWindow as mshtml.IHTMLWindow2;
win.execScript("SubmitAction()", "javascript");
loggingIn = false;
return;
}