C# - 使用Awesomium与Gmail交互

时间:2012-07-15 17:32:47

标签: c# awesomium

我可以导航到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控件,以便我可以看到发生了什么。这是强制性的

3 个答案:

答案 0 :(得分:2)

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

点击此处查看示例: http://www.kobashicomputing.com/injecting-jquery-into-awesomium

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

也许这个问题也可以帮到你,calling Javascript from c# using awesomium