C#-使用Awesomium与Gmail交互

C#-使用Awesomium与Gmail交互,c#,awesomium,C#,Awesomium,我可以导航到gmail,但我想做一些简单的事情,比如输入凭证并单击登录按钮 private void btnSubmit_Click(object sender, EventArgs e) { btnSubmit.Enabled = false; webGmail.LoadURL("http://www.gmail.com"); webGmail.LoadCompleted += ExecuteSomething; } private v

我可以导航到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();");
}
private void btnSubmit\u单击(对象发送者,事件参数e)
{       
btnSubmit.Enabled=false;
webGmail.LoadURL(“http://www.gmail.com");
webGmail.LoadCompleted+=执行方法;
}
私有void executeMething(对象发送方,EventArgs EventArgs)
{
webGmail.ExecuteJavascript(@“”);
webGmail.ExecuteJavascript(@“$('#Email').val('foo');”);
webGmail.ExecuteJavascript(@“$('#Passwd').val('bar');”);
webGmail.ExecuteJavascript(@“$('#sign')。单击();”;
}
什么也没发生。我知道在Chrome上使用开发者工具时,你不能修改页面上的任何内容。但是有没有填写表格的方法呢


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

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

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


也许这个问题也可以帮助您。

问题在于脚本标记不是javascript,而是HTML,因此以javascript形式执行它只会抛出一个错误。要使用ExecuteJavascript方法加载脚本,需要在javascript中创建一个脚本元素,并将其注入页面头部

有关示例,请参见此处:

您应该使用IMAP和/或Gmail API。不,对于这种类型的应用程序,这是不可能的,但是谢谢。WebBrowser的问题是,我无法让它与动态呈现的ajaxified站点一起工作。WebBrowser适用于按需加载页面,然后其内容在DOM中。事实上,可以使用ajax(尽管这是一个大问题,因为没有实现与ajax相关的事件)。必要时,您可以随时获得实际的DOM。顺便说一下,您可以为任何元素添加事件处理程序。