c# - 以编程方式调用按钮单击

标签 c# asp.net

我想以编程方式单击具有此类源的网页上的按钮

<input alt="BusiBtn" class="aButtn" type="submit" value="Search" tabindex="16">

当我这样做的时候

WebBrowser b = new WebBrowser();
b.Navigate(URL);
while (b.ReadyState != WebBrowserReadyState.Complete)
{
   Application.DoEvents();
}
b.Document.GetElementByID("BusiBtn").InvokeMember("click");

我收到“对象引用未设置到对象实例错误”。

有人可以帮忙吗

谢谢 拉什米

最佳答案

在这种情况下,您可以做的只是找到所有具有 input 标记的 HtmlElement。如果您需要一般调用所有 input 标记,则只需调用它们的 click 即可。如果您只需要上面的 input 元素,则过滤所有 input 标签以搜索具有如上所述属性值的特定标签。请看下面的代码:

HtmlElementCollection elems = b.Document.GetElementsByTagName("input");

foreach (HtmlElement elem in elems)
{
    string altStr = elem.GetAttribute("alt");
    string classStr = elem.GetAttribute("class");
    string typeStr = elem.GetAttribute("type");
    string valueStr = elem.GetAttribute("value");
    string tabindexStr = elem.GetAttribute("tabindex");

    if((altStr == "BusiBtn") && (classStr == "aButtn") && (typeStr == "submit") && (valueStr == "Search") && (tabindexStr == "16"))
    {
        elem.InvokeMember("click");
        break;
    }
}

关于c# - 以编程方式调用按钮单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282059/

相关文章:

c# - 在 emgu cv 中使用矩阵

c# - 无法在 WPF 中找到资源

c# - 不能将 null 值分配给类型为 System.Int32 的成员,该类型是不可为 null 的值类型

javascript - 除了明显的布局/CSS 问题之外的浏览器兼容性问题?

javascript - { myParameter : 77 } and { 'myParameter' : 77 } 之间的 JSON 差异

c# - 调用 LoadScene/LoadLevel 后场景中的对象变暗

c# - 使用 : Convert. ToX 或 X.Parse(...) 哪个更好?

c# - 使用反射订阅 Prism EventAggregator 事件

javascript - 无法使用 Javascript 重定向到另一个页面

MySQL命令中的一个点是什么意思?