我想以编程方式单击具有此类源的网页上的按钮
<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/