Webbrowser控件onclick事件

时间:2018-07-27 04:07:13

标签: javascript c# webbrowser-control

我有一个单击html元素的代码,但它不会触发其Java脚本代码,在VBA中,我曾经调用“ initEvent”以调用Java脚本事件。 我已经在网上搜索了,但是找不到合适的解决方案。

有一个可行的解决方案,但在大多数情况下并不是很有用,将Java脚本代码放在url中并导航到它,但是html元素的位置有时是个问题。

我用来在html元素中单击的代码:

el.InvokeMember("onclick");

也尝试过:

el.InvokeMember("click");

我放置在url中的代码发现并没有太多用处:

wb.Navigate("javascript: document.getElementsByClassName('something')[0].click();void(0);");

我希望得到一个可行的解决方案,谢谢。

1 个答案:

答案 0 :(得分:0)

我已经解决了,我要说一个非常原始的解决方法。 因此,基本上,我是这样考虑的。 找到我已经拥有的元素一点都不舒服,因此java脚本导航似乎没有用,但是,我想到了将其更改为适合任何元素的方法,问题是如何解决的。

我想出的答案是,如果我将焦点放在特定元素上,然后使用javascript单击该焦点元素,它会起作用。

所以固定代码:

el.Focus();
wb.Navigate("javascript: document.activeElement.click();void(0);");

我希望它对某些人有用。