Как имитировать ввод текста в поле input елемента webBrowser1?

Рейтинг: 0Ответов: 1Опубликовано: 27.04.2015

Все варианты мне не подходят (большинству они подойдут), проблема в том что на каждый ввод символа все еще пишется в скрытое поле. Вопрос в том как собственно имитировать ввод? замена атрибута value не подойдет. На форме одна кнопка и елемент webBrowser1.

private void button1_Click(object sender, EventArgs e)
{
    webBrowser1.Navigate("http://www.defense.gov");
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
   1-вариант       
   //webBrowser1.Document.GetElementById("id_inputa").InvokeMember("click");
   //SendKeys.SendWait("123");

   2-вариант                       
   //webBrowser1.Document.GetElementById("id_inputa").Focus();
   //SendKeys.SendWait("123");

   3-вариант                     
   //webBrowser1.Document.GetElementById("id_inputa").InnerText="123";

   4-вариант                            
   //webBrowser1.Document.GetElementById("id_inputa").SetAttribute("value", "123");
}

Решения: webBrowser1.Document.GetElementById("id_inputa").InvokeMember("focus"); SendKeys.SendWait("123");

Ответы

▲ 1Принят

Установи фокус и используй SendKeys

https://msdn.microsoft.com/ru-ru/library/system.windows.forms.sendkeys(v=vs.110).aspx

Фокус на WebBrowser. И на input в нём. Кажется, на инпут он с маленькой буквы и через InvokeMember.