3

我可以导航到 gmail,但是我想做一些简单的事情,比如输入凭据并单击登录按钮。

private void btnSubmit_Click(object sender, EventArgs e)
{       
    btnSubmit.Enabled = false;        
    webGmail.LoadURL("http://www.gmail.com");

    webGmail.LoadCompleted += ExecuteSomething;
}

private void ExecuteSomething(object sender, EventArgs eventArgs)
{
    webGmail.ExecuteJavascript(@"<script src = 'http://code.jquery.com/jquery-latest.min.js' type = 'text/javascript'></script>");
    webGmail.ExecuteJavascript(@"$('#Email').val('foo');");
    webGmail.ExecuteJavascript(@"$('#Passwd').val('bar');");
    webGmail.ExecuteJavascript(@"$('#signIn').click();");
}

什么都没发生。我知道在 Chrome 中使用开发人员工具时,您无法修改页面上的任何内容。但是有没有填写表格的方法?

还有其他更好的无头浏览器吗?我实际上需要一个支持 Web 控件的控件,我可以将其放入我的表单中,这样我就可以看到正在发生的事情。这是强制性的

4

3 回答 3

2

问题是脚本标签不是 javascript - 它是 HTML - 所以作为 javascript 执行它只会引发错误。要使用 ExecuteJavascript 方法加载脚本,您需要在 javascript 中创建一个脚本元素并将其注入页面头部。

见这里的例子: http ://www.kobashicomputing.com/injecting-jquery-into-awesomium

于 2013-03-12T18:51:56.047 回答
1

我最近遇到了一个类似的问题。我试过cefsharp、awesomium、open-webkit-sharp、geckofx。奇怪的是,最先进的是WebBrowser。它允许您直接使用 C# 执行几乎所有活动。例如,单击 C# 中的提交按钮,您只能在 WebBrowser 中。如果您仍想使用替代引擎,我推荐 open-webkit-sharp - 它是其中最先进的(尽管单击按钮也有同样的问题)。

于 2012-07-15T22:41:21.410 回答
0

WatiN 有一个基于 Awesomium 的 Webkit 的 Javascript 实现,源代码是免费的,可以在他们的主页上下载。祝你好运。

也许这个问题也可以帮助你,使用 awesomium 从 c# 调用 Javascript

于 2012-08-03T13:46:11.113 回答