8

WebBrowserカスタムコントロールを使用して、ユーザーが自分のアカウントにログインできるようにしようとしています。WebBrowser'sInvokeScript関数を使用して、入力タグの値をプレーヤーのユーザー名に設定しようとしています。しかし、私の現在の解決策は、空白の白いページをレンダリングすることだけです。

私の現在のコードは次のようになります(webは私のWebBrowserコントロールの名前です):

web.Navigate(CurrentURL, null, @"<script type='text/javascript'>
    function SetPlayerData(input) {
        username.value = input;
        return true;
    }
</script>");
web.Navigated += (o, e) =>
{
    web.IsScriptEnabled = true;
    web.InvokeScript("SetPlayerData", @"test");
};

前述のように、これは現在機能しません。私はWindowsPhoneでこれを実行しようとしているので、同じ機能にアクセスできないため、ここや他の場所で見つけたいくつかの例は機能しません。

これを正常に実行するにはどうすればよいですか?

編集:おそらく私は明確ではありませんでしたが、使用可能なAPIが制限されているWindows Phoneを使用しています。つまり、Documentプロパティや他の多くの機能にアクセスできません。私はにアクセスできますがInvokeScript、それ以上はありません。

4

2 に答える 2

14
webBrowser1.Document.GetElementById("navbar_username").InnerText ="Tester";
webBrowser1.Document.GetElementById("navbar_password").InnerText = "xxxxxxxxxxx";

foreach (HtmlElement HtmlElement1 in webBrowser1.Document.Body.All)
    {
    if (HtmlElement1.GetAttribute("value") == "Log in")
        {
        HtmlElement1.InvokeMember("click");
        break;
        }
    }

詳細はこちら: http://deltahacker.gr/2011/08/15/ftiakste-to-diko-sas-robot/

于 2013-02-04T06:23:00.683 に答える