Нажатие кнопки webBrower без идентификатора элемента? - PullRequest
0 голосов
/ 29 декабря 2010

Я работаю над системой входа на форум и пытаюсь заставить ее работать через форму ac # .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");
}

Проблема в том, что кнопка входа в систему на странице не имеет идентификатора или какой-либо реальной информации, которая может позволить мне нажать на нее.У кого-нибудь есть предложения?Вот код для кнопки входа в систему.

<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">

Ответы [ 4 ]

2 голосов
/ 29 декабря 2010

Вы можете просто отправить форму?Есть ли еще кнопки на этой странице?

1 голос
/ 29 декабря 2010

У вас есть атрибут accesskey на кнопке ввода, который будет уникальным на странице.

Прокрутите все кнопки ввода и найдите кнопку с атрибутом accesskey, установленным на s,Это будет ваша кнопка отправки.

С jQuery вы будете использовать следующее для выбора этого элемента:

$('input[accesskey="s"]')
0 голосов
/ 29 декабря 2010

Вы можете попробовать отправить POST без элемента управления браузера.

Как войти в форму HTML с помощью переменных POST в C # (.NET)?

0 голосов
/ 29 декабря 2010

Вы можете использовать webBrowser1.Document.GetElementsByTagName("input")
, чем циклически проходить через каждый элемент HTMLE, и искать element.innerText == "Log in"
, чем бы у вас была кнопка ...

...