首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Awesomium:执行javascript,单击element

Awesomium:执行javascript,单击element
EN

Stack Overflow用户
提问于 2013-11-14 03:19:25
回答 2查看 4.6K关注 0票数 1

我正在尝试在我的awesomium WebControl wb中执行一些javascript。

当用户单击我的图形用户界面上的按钮时,应单击元素exampleDiv

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

EN

回答 2

Stack Overflow用户

发布于 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();

票数 1
EN

Stack Overflow用户

发布于 2013-11-25 14:47:49

您可以简单地这样做

dynamic submit = document.getElementById("exampleDiv"); submit.Invoke("click");

这段代码将位于webcontrol -> loadingframeComplete部分中。对我来说100%有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19962496

复制
相关文章

相似问题

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