C# 如何单击网站按钮?
我首先在构造函数中导航以进行测试C# 如何单击网站按钮?,c#,html,.net,winforms,webbrowser-control,C#,Html,.net,Winforms,Webbrowser Control,我首先在构造函数中导航以进行测试 webBrowser1.ScriptErrorsSuppressed = true; webBrowser1.Navigate("http://www.tapuz.co.il/forums/forumpage/393"); webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted; 然后在DocumentCompleted事件中: void webBrowser1_DocumentComple
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Navigate("http://www.tapuz.co.il/forums/forumpage/393");
webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
然后在DocumentCompleted事件中:
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElementCollection items = this.webBrowser1.Document.GetElementsByTagName("span");
foreach (HtmlElement item in items)
{
if (item.GetAttribute("className") == "addMessage")
{
webBrowser1.Document.GetElementById("onclick").InvokeMember("click");
}
}
}
当我在addMessage按钮上创建inspect元素时,我看到:
<span class="addMessage" onclick="location='http://www.tapuz.co.il/forums/addmsg/393/טבע_ומזג_אוויר/מזג_האוויר'"> | הוספת הודעה</span>
我要做的是单击addMessage按钮。您需要更改
webBrowser1.Document.GetElementById("onclick").InvokeMember("click");
到
项已经是您想要拥有的元素,所以您只需要调用成员并单击它
HtmlElementCollection elc = this.WebBrowserWindow.Document.GetElementsByTagName("button");
foreach (HtmlElement el in elc)
{
if (el.GetAttribute("type").Equals("submit"))
{
el.InvokeMember("Click");
break;
}
}
item.InvokeMember("Click");
HtmlElementCollection elc = this.WebBrowserWindow.Document.GetElementsByTagName("button");
foreach (HtmlElement el in elc)
{
if (el.GetAttribute("type").Equals("submit"))
{
el.InvokeMember("Click");
break;
}
}