Awesomium:执行javascript,点击元素

时间:2013-11-13 19:19:25

标签: c# wpf awesomium

我正在尝试在我的awesomium WebControl wb中执行一些javascript 当用户点击我的GUI上的按钮时,应单击元素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)。

2 个答案:

答案 0 :(得分:1)

我不确定问题是否是装有1.7.3的镀铬版本,或者是否是其他东西但是我认为你应该做的是这样:
document.getElementById('exampleDiv').onclick()

我使用附带的调试器测试了类似于1.7.3的示例,我得到了错误:
TypeError: Object #<HTMLSpanElement> has no method 'click'

该跨度上有一个有线点击事件,我可以使用以下命令触发它: document.getElementById('mySpan').click() 使用chrome,但必须在awesomium中使用.onclick()

在当前版本的Chrome中测试它同样正常。我的猜测是它最有可能是镀铬18,但我现在没时间安装它并验证。

如果您使用的是jQuery,那么您也可以使用$('#exampleDiv').click();

答案 1 :(得分:0)

你可以简单地这样做

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

这段代码将在webcontrol中 - &gt; loadingframeComplete部分。为我工作100%。