我正在创建一个程序,将您登录到某个站点,然后单击该页面上的按钮。此按钮不像可以使用此脚本调用的普通按钮:
WebBrowser).Document.Forms(0).InvokeMember("submit")
在我的项目中手动单击按钮时,会打开Internet Explorer会话并导航到该页面。
按钮的来源:
<form id="vform1" action="/account/vote/" method="post" target="_blank">
<input type="hidden" name="id" value="1">
<div class="cpBtn" style="height:38px; width:95px;" onclick="document.getElementById('vform1').submit();">
<p style="margin:11px auto;">Open WoW</p></div></form>
我的问题:如何使用VB.net脚本单击此按钮,如何在新选项卡中打开它,而不是在Internet Explorer中打开。
答案 0 :(得分:0)
public partial class _Default : System.Web.UI.Page, IPostBackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
div1.Attributes["onclick"] = ClientScript.GetPostBackEventReference(this, "ClickDiv");
}
protected void Div1_Click()
{
// Do something
}
#region IPostBackEventHandler Members
public void RaisePostBackEvent(string eventArgument)
{
if (!string.IsNullOrEmpty(eventArgument))
{
if (eventArgument == "ClickDiv")
{
Div1_Click();
}
}
}
#endregion
}
将其转换为VB.Net
reference :: link
答案 1 :(得分:0)
两种方式:
1- with divisions selector
'获取webbrowser1中的所有分部:
Dim divs As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("div")
'转到spesified div并点击它:
for each mydiv as Htmlelement in divs
if (mydiv .GetAttribute("class").Tostring = "cpBtn" ) then mydiv.InvokeMember("Click")
next
2-使用表单选择器
Dim forms As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("form")
for each myform as Htmlelement in forms
if (myform.GetAttribute("id").Tostring = "vform1" ) then myform.InvokeMember("Submit")
next
注意:如果您知道只有一个表单在您的网络浏览器中,那么就这样做:
WebBrowser1.Document.GetElementsByTagName("form")(0).InvokeMember("Submit")