【发布时间】:2011-10-09 16:37:20
【问题描述】:
我正在使用 Dotnet Web 浏览器单击输入元素 - 按钮。当这个点击事件被触发时,它会执行一个 JS 函数,该函数使用 Google Recaptcher 生成验证码,其来源类似于 Recaptcha link。 现在的问题是我无法触发 onClick 事件,我正在使用以下代码:
HtmlElementCollection inputColl = HTMLDoc.GetElementsByTagName("input");
foreach (HtmlElement inputTag in inputColl)
{
string valueAttribute = inputTag.GetAttribute("value");
if (valueAttribute.ToLower() == "sign up")
{
inputTag.Focus();
inputTag.InvokeMember("Click");
break;
}
}
我已经检查了所有内容,我抓住了正确的按钮,但不知道为什么 onClick 事件没有被触发。 欢迎提出任何建议。
【问题讨论】:
-
您的代码对我有用。这段代码是否有可能在文档在浏览器控件中完全准备好之前运行。
-
不,文档已完全加载,我能够得到我想要的元素,我已经调试和检查过,我能够抓住它。但是当我点击按钮时没有任何反应,我猜它的点击事件没有被触发,而当我在 Web 浏览器上手动执行它时,它会被点击。
-
你把代码放在哪里了?确保在文档完全加载后调用它。需要注意的是,Webbrowser 控件的 OnDocumentCompleted 通常会调用两次,因此还要检查 Webbrowser 的 State 以确保它实际上已完成。
-
首先点击是小写的,如果你没有禁用脚本错误,你一定会得到一些错误。
标签: c# browser onclick recaptcha