C# WebBrowser控件-按类型获取元素?
我需要在C中按类型获取元素,HTML如下所示:C# WebBrowser控件-按类型获取元素?,c#,.net,webbrowser-control,C#,.net,Webbrowser Control,我需要在C中按类型获取元素,HTML如下所示: <button type="submit" class="orangeBtn">Send Invitations</button> 有没有其他的工作方法可以做到这一点 这不是我的服务器,因此我无法编辑HTML或添加jquery 我正在制作一个自动应用程序,向我想加入的朋友发送邀请,但他们制作的按钮没有如上所示的id或名称,因此是否有其他方法在C#中调用(“单击”)按钮 谢谢。一个没有id或名称的按钮会提交任何表单,如果你知
<button type="submit" class="orangeBtn">Send Invitations</button>
有没有其他的工作方法可以做到这一点
这不是我的服务器,因此我无法编辑HTML或添加jquery
我正在制作一个自动应用程序,向我想加入的朋友发送邀请,但他们制作的按钮没有如上所示的id或名称,因此是否有其他方法在C#中调用(“单击”)按钮
谢谢。一个没有id或名称的按钮会提交任何表单,如果你知道HTML,那么表单有id吗?如果是这样,您可以通过表单的id找到表单,并调用表单的submit方法 事实上,您最好找出该表单的所有字段,然后自己发布:
var inputs = new NameValueCollection();
inputs.Add("field1", "value1");
inputs.Add("field2", "value2");
inputs.Add("field3", "value3");
System.Net.WebClient Client = new WebClient();
Client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] POSTResultData = Client.UploadValues(postUrl, inputs);
您可以使用
GetElementsByTagName
var elements = m_Browser.Document.GetElementsByTagName("button");
foreach (HtmlElement element in elements)
{
// If there's more than one button, you can check the
//element.InnerHTML to see if it's the one you want
if (element.InnerHTML.Contains("Send Invitations"))
{
element.InvokeMember("click");
}
}
我已经尝试了以下代码,并且成功了
HtmlElementCollection htmlcol = ((WebBrowser)sender).Document.GetElementsByTagName("input");
for (int i = 0; i < htmlcol.Count; i++)
{
if (htmlcol[i].GetAttribute("value") == "Search")
{
htmlcol[i].InvokeMember("click");
}
}
HtmlElementCollection htmlcol=((WebBrowser)发送方).Document.GetElementsByTagName(“输入”);
for(int i=0;i
我在以下情况下尝试了此代码
<input type="submit" value="Search">
你也可以尝试这样的html标签,我希望它将为你工作。。。
享受您的平台是什么?asp?银灯?winforms?wpf?(等等)
<input type="submit" value="Search">