我正在研究论坛的登录系统,并尝试通过c#.net表单使其工作。我需要通过webBrower控件以论文方式点击论坛上的登录按钮。到目前为止,我有这个。
webPage page = new webPage();
page.URL = txtURL.Text;
page.Load(); //Load the text from the specified URL
WebBrowser browser = new WebBrowser();
browser.Document.GetElementById("navbar_username").SetAttribute("value", textBox1.Text);
browser.Document.GetElementById("navbar_password").SetAttribute("value", textBox2.Text);
HtmlElement el = browser.Document.All["btnI"];
if (el != null)
{
el.InvokeMember("click");
}
else
{
MessageBox.Show("There is an issue with the program");
}
问题是页面上的登录按钮没有ID或任何可以让我点击它的真实信息。有没有人有什么建议?这是登录按钮的代码。
<input type="image" src="images/loginbutton.png" class="loginbutton" tabindex="104" value="Log in" title="Enter your username and password in the boxes provided to login, or click the 'register' button to create a profile for yourself." accesskey="s">
答案 0 :(得分:2)
你能提交表格吗?该页面上还有更多按钮吗?
答案 1 :(得分:1)
您在输入按钮上有一个accesskey
属性,该属性在页面中是唯一的。
循环浏览所有输入按钮,找到accesskey
属性设置为s
的按钮。这将是您的提交按钮。
使用jQuery,您将使用以下内容来选择此元素:
$('input[accesskey="s"]')
答案 2 :(得分:0)
你可以使用webBrowser1.Document.GetElementsByTagName("input")
左,而不是你可以遍历每个HTMLElement并查找element.innerText == "Log in"
,而不是你的按钮......
答案 3 :(得分:0)
您可以尝试在没有浏览器控件的情况下提交POST。