0

これは、Visual Studio Express 2012 のデスクトップ C# アプリ用です。

webBrowser コントロールを使用してさまざまな Web サイトに自動的にログオンしようとしていますが、[ログイン] ボタンが見つからず、この特定の Web サイトに対して「クリック」を発行できません。ユーザー名とパスワードのフィールドを見つけて、問題なく値を入力することができました。ログオンを完了するための「クリック」を発行できないように見えるだけです。

問題の Web サイトはhttps://www.my.telstra.com.au/myaccount/home?red=/myaccount/です。

Google Chrome を使用してログイン ボタンのコードを調べたところ、次のことがわかりました。

< div class="submit submit_buttons form-row"> < a class="btn-blue" title="マイ アカウントへのログイン ボタン" href="javascript:void(0)">ログイン < /div>

どんな助けでも大歓迎です!

ミック

この質問は、正常に回答されたWebBrowser Web サイトのタイムアウトと同じ Web サイトに関連する以前の質問からの続編であることに注意してください。

4

1 に答える 1

1

そのようなボタンを見つけます

HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("a");
//this vill take elements tagget with <a></a>

そして、クリックを送信します

//first find your submit button in <a> tags with the tags diffrence from other <a>'s
//on your code it seem your tags title difrent than other <a>'s 
HtmlElement yourTag;
foreach(HtmlElement o in elements)
{
    if(o.GetAttribute("title")=="Button to Login to My Account")
    {
        yourTag=o;
    }
}
yourTag.InvokeMember("click");

または、これが機能するはずの異なる属性を持つボタンを見つけることができます

そして、タグに他のタグとの違いがない場合は、div に class 属性が含まれていることがわかり、その子にアクセスしてクリックを送信します

myHtmlElement.Children[index].InvokeMember("click");
于 2013-10-23T13:24:10.903 に答える