0

さて、質問はとても簡単です。

この方法で生成されたクラス ファイルに webkit ブラウザーがあります。

public static WebKit.WebKitBrowser mainBrowser = new WebKitBrowser();

今、私はウェブサイトに自動的にログインしようとしています。しかし、入力フィールドは入力されていません。

このコードを使用して、データを入力する必要があるポイントに到達します。

public void loginthen()
{
    this.Controls.Add(globalVars.mainBrowser);
    globalVars.mainBrowser.DocumentCompleted += 
        new WebBrowserDocumentCompletedEventHandler(mainBrowser_DocumentCompleted);
    globalVars.mainBrowser.Navigate("http://www.somesite.com/");                
}

void mainBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    var send = sender as WebKit.WebKitBrowser;
    if (send.Url == e.Url)
    {
        MessageBox.Show("Inloggen");
        globalVars.mainBrowser.Document.GetElementById("user").TextContent = "User Name";
    }
}

が表示され、MessageBoxエラーは発生しませんが、入力フィールドが入力されていません。

入力フィールドの HTML は次のとおりです。

<input id="user" name="user" class="text" type="text" value="" onkeydown="if((e=window.event||event) &amp;&amp; e.keyCode == 13 &amp;&amp; $('#user').val() &amp;&amp; $('#password').val()) $('#login_button').trigger('click');">

だから私の考えは...私はTextContent間違って使用していますか?

そして、これ(およびボタンのトリガーなど)は、javascriptで行うのがはるかに簡単ではないでしょうか?

それでググって検索したのですが、javascriptからC#の関数を呼び出す方法か、C#からjavascriptの関数を呼び出す方法しか見つかりません。しかし、私はこれらのサイトを所有していないので、うまくいきません...

それで、あなたはそれについてどう思いますか?

4

1 に答える 1

1

それ以外の:

globalVars.mainBrowser.Document.GetElementById("user").TextContent = "User Name";

あなたが使用する必要があります:

globalVars.mainBrowser.Document.GetElementById("user").SetAttribute("value", "User Name");

このプロパティを使用して、 、または多分TextContentなどの HTML タグのコンテンツを設定できます。<p /><span /><div />

globalVars.mainBrowser.Document.GetElementById("myDiv").TextContent = "some div content";
于 2013-01-11T01:26:53.160 に答える