【问题标题】:Webbrowser control onclick eventWebbrowser 控件 onclick 事件
【发布时间】:2018-07-27 04:07:13
【问题描述】:

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

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

我用来点击 html 元素的代码:

el.InvokeMember("onclick");

也试过了:

el.InvokeMember("click");

我放在网址中的代码并没有太大用处:

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

我希望收到一个可行的解决方案,在此先感谢。

【问题讨论】:

  • 您的问题我不清楚,您想在网页(即 JavaScript)或网络浏览器控件(即 VB)中触发点击事件吗?
  • WebBrowser 是 c# 类型,当我触发点击事件时,它不会调用其 javascript。简而言之,它会单击但不会触发其 java 脚本。

标签: javascript c# webbrowser-control


【解决方案1】:

我已经解决了,我会说这是一个非常原始的解决方案。 所以基本上,我是这样考虑的。 找到一个我已经拥有的元素根本不舒服,所以 java 脚本导航似乎没有用,但是,我想改变它以适应任何元素,问题是如何。

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

所以固定代码:

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

我希望它对你们中的一些人有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 2014-11-11
    • 2010-10-13
    • 1970-01-01
    相关资源
    最近更新 更多