Webbrowser控件的onclick事件
Webbrowser control onclick event
我有一个代码可以点击 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);");
我希望收到一个可行的解决方案,提前致谢。
我已经解决了,我会说这是一个非常原始的解决方案。
所以基本上,我是这样考虑的。
找到一个我已经拥有的元素一点也不舒服,所以 java 脚本导航似乎没有用,但是,我想改变它以适应任何元素,问题是如何。
我想出的答案是,如果我聚焦特定元素然后使用 java 脚本点击聚焦元素,效果如何。
所以固定代码:
el.Focus();
wb.Navigate("javascript: document.activeElement.click();void(0);");
希望对大家有用。
我有一个代码可以点击 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);");
我希望收到一个可行的解决方案,提前致谢。
我已经解决了,我会说这是一个非常原始的解决方案。 所以基本上,我是这样考虑的。 找到一个我已经拥有的元素一点也不舒服,所以 java 脚本导航似乎没有用,但是,我想改变它以适应任何元素,问题是如何。
我想出的答案是,如果我聚焦特定元素然后使用 java 脚本点击聚焦元素,效果如何。
所以固定代码:
el.Focus();
wb.Navigate("javascript: document.activeElement.click();void(0);");
希望对大家有用。