Как отправить форму внутри элемента управления WebBrowser? - PullRequest
16 голосов
/ 19 февраля 2010

Как я могу создать программу на C # для автоматической отправки формы (в веб-браузере CONTROL в Windows Apps)?

Ответы [ 3 ]

30 голосов
/ 19 февраля 2010

Элемент управления WebBrowser имеет свойство документа , которое возвращает HtmlDocument .HtmlDocument имеет несколько членов , которые вы можете использовать для обхода и управления DOM.

После того, как вы использовали эти методы для поиска формы, вы можете использовать InvokeMember длявызовите метод отправки формы.

Если вы знаете, что на странице есть одна форма:

foreach (HtmlElement form in webBrowser1.Document.Forms)
    form.InvokeMember("submit");

Если вам известен идентификатор формы, которую вы хотите отправить:

HtmlElement form = webBrowser1.Document.GetElementById("FormID");
if (form != null)
    form.InvokeMember("submit");
0 голосов
/ 13 сентября 2018
WebBrowser.Document.GetElementById("form_submit").InvokeMember("click");
0 голосов
/ 19 февраля 2018

Если вы знаете, что на странице есть одна форма или вам нужна первая форма:

HTMLDocument doc = webBrowser.Document as HTMLDocument;    
HTMLFormElement form = doc.all.OfType<HTMLFormElement>().First();
form.submit();
...