1

我正在尝试在我的 awesomium 中执行一些 javascript WebControl wb。当用户单击我的 GUI 上的按钮时,应单击
一个元素。exampleDiv

private void button_Click(object sender, RoutedEventArgs e)
{
    if (wb.IsDocumentReady)
    {
        wb.ExecuteJavascript("document.getElementById('exampleDiv').click();");
    }
}

如果我在 Chrome 中执行这段 javascript 一切正常。
如果我在 awesomium 中执行此操作,则不会发生任何事情。
简单的事情,比如alert('Hello');工作正常,但我没有其他任何工作。

我还发现这篇文章在 awesomium 中执行 javascript 以单击 div,但它也没有帮助。

我正在使用最新的 awesomium 版本(1.7.3)。

4

2 回答 2

1

我不确定问题是加载了 1.7.3 的 chrome 版本还是其他问题,但是我认为您应该做的是:
document.getElementById('exampleDiv').onclick()

我使用附带的调试器在 1.7.3 中测试了与您的示例类似的东西,但出现错误:
TypeError: Object #<HTMLSpanElement> has no method 'click'

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

在当前版本的 chrome 中测试相同,它工作得很好。我的猜测是它最有可能是 chrome 18,但我目前没有时间安装和验证。

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

于 2013-11-19T19:39:51.377 回答
0

You can simply do this

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

and this piece of code will be inside webcontrol -> loadingframeComplete section. Works 100% for me.

于 2013-11-25T06:47:49.313 回答