首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webkit.net和自己的javascript

Webkit.net和自己的javascript
EN

Stack Overflow用户
提问于 2013-01-09 05:30:54
回答 1查看 1.5K关注 0票数 0

好吧,问题很简单。

我在一个类文件中有一个webkit浏览器,这个文件是这样生成的:

代码语言:javascript
复制
public static WebKit.WebKitBrowser mainBrowser = new WebKitBrowser();

现在我正在尝试自动登录一个网站。但是输入字段没有填写。

我使用这段代码来达到需要填充数据的程度:

代码语言:javascript
复制
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如下:

代码语言:javascript
复制
<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函数。但我不是这些网站的所有者,所以这是行不通的。

那么你对此有什么看法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-11 09:26:53

而不是:

代码语言:javascript
复制
globalVars.mainBrowser.Document.GetElementById("user").TextContent = "User Name";

您应该使用:

代码语言:javascript
复制
globalVars.mainBrowser.Document.GetElementById("user").SetAttribute("value", "User Name");

您可以使用TextContent属性来设置<p /><span /><div />等HTML标记的内容。

代码语言:javascript
复制
globalVars.mainBrowser.Document.GetElementById("myDiv").TextContent = "some div content";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14224372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档