[英]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) && e.keyCode == 13 && $('#user').val() && $('#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.