我正在尝试在我的awesomium WebControl wb中执行一些javascript。
当用户单击我的图形用户界面上的按钮时,应单击元素exampleDiv。
private void button_Click(object sender, RoutedEventArgs e)
{
if (wb.IsDocumentReady)
{
wb.ExecuteJavascript("document.getElementById('exampleDiv').click();");
}
}如果我在Chrome中执行这段javascript,一切正常。
如果我在awesomium中执行这个,什么都不会发生。
像alert('Hello');这样简单的东西运行得很好,但我没有得到任何其他的东西。
我也找到了这篇文章executing javascript in awesomium to click on a div,但它也没有帮助。
我使用的是最新的awesomium版本(1.7.3)。
发布于 2013-11-20 03:39:51
我不确定这个问题是因为chrome 1.7.3版本的问题,还是其他原因,但是我认为你应该这样做:
document.getElementById('exampleDiv').onclick()
我使用附加的调试器使用1.7.3测试了与您的示例类似的内容,并得到错误:
TypeError: Object #<HTMLSpanElement> has no method 'click'
这个跨度上有一个有线的点击事件,我可以使用:document.getElementById('mySpan').click() with chrome触发它,但在awesomium中必须使用.onclick()。
在当前版本的chrome中进行同样的测试,它工作得很好。我猜它最有可能是chrome 18,但我目前没有时间安装和验证它。
如果您使用的是jQuery,那么您也可以使用$('#exampleDiv').click();
发布于 2013-11-25 14:47:49
您可以简单地这样做
dynamic submit = document.getElementById("exampleDiv"); submit.Invoke("click");
这段代码将位于webcontrol -> loadingframeComplete部分中。对我来说100%有效。
https://stackoverflow.com/questions/19962496
复制相似问题