簡體   English   中英

Webkit.net和自己的javascript

[英]Webkit.net and own javascript

好吧,問題很簡單。

我在以這種方式生成的類文件中有一個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函數。 但是我沒有這些網站,所以這行不通...

那么您對此有何看法?

代替:

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";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM