在这段代码中,我使用webbrowser导航到一个站点。 然后我想在网站上点击一下按钮。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Web.UI;
namespace Click_On_Website_Button
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Navigate("http://www.mysiteexample.com");
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElementCollection classButton = webBrowser1.Document.All;
foreach (HtmlElement element in classButton)
{
if (element.GetAttribute("addMessage") == "button")
{
element.InvokeMember("click");
}
}
}
}
}
当我在查看页面源时,我搜索addmessage并找到:
http://www.mysiteexample.com
但是,当我正在运行我的程序时,它永远不会出现在这条线上:
element.InvokeMember("click");
当我在按钮上的网站上创建Inspect元素时,它会添加一条消息:
<span class="addMessage" onclick="location='http://www.tapuz.co.il/forums/addmsg/393/טבע_ומזג_אוויר/מזג_האוויר'"> | הוספת הודעה</span>
在源视图中,addmessage部分是这样的:
<div class="SecondLineMenu" id="SecondLineMenu">
<span class="addMessage" onclick="location='http://www.tapuz.co.il/forums/addmsg/393/טבע_ומזג_אוויר/מזג_האוויר'" > | הוספת הודעה</span>
答案 0 :(得分:1)
您应该查找ID或名称......
GetAttribute ("addMessage") == "button"
除非你有这样的元素,否则永远不会成真:
<input type="button" ... addMessage="button">