Member 13809822 Ответов: 0

Триггер ввода измененных событий в элементе управления webbrowser (класс HTML-элементов)


Я пытаюсь установить значение в текстовое поле, и я нашел нужный мне HtmlElemnt и изменил значение текстового поля, но кажется, что элемент не обновится сам или не вызовет какой-то метод lind mof userinput. веб скажет: "Вы должны заполнить это, прежде чем вы сможете закончить", даже если вы можете ясно видеть текст, написанный там. проблема может быть решена с помощью такого странного трюка, как :

webBrowser.Document.GetElementById("inputSession").Focus();
           SendKeys.SendWait("  ");


но это не сработает, когда элемент управления webbrowser невидим. вот этот код :

HtmlElement Elem = webBrowser.Document.GetElementById("inputSession");
 Elem.SetAttribute("value" , "TEST ");
 HtmlElementCollection elements= webBrowser.Document.GetElementsByTagName("button");
 HtmlElement  EnterButton = elements[0];
 EnterButton.InvokeMember("click");


вот html - код текстового поля:

<input id="inputSession" ios7fix="" class="username ng-valid ng-touched ng-dirty ng-valid-parse ng-not-empty" ng-class="{invalid: !gamePinValid}" placeholder="Game PIN" ng-model="gameId" type="tel" shake="badGameId" data-functional-selector="game-pin-input" aria-label="Game pin" ng-change="gameIdChanged()" ng-focus="gameIdFocused()" ng-blur="gameIdUnfocused()">


кто-нибудь знает, как бы я мог вызвать / обновить эти методы userinput элементов ?


я использую веб-браузер управления winforms.

Что я уже пробовал:

уже пробовал сменить класс с
username ng-valid ng-touched ng-dirty ng-valid-parse ng-empty

к
username ng-valid ng-touched ng-dirty ng-valid-parse ng-not-empty

(Он меняется, когда пользователь вводит что-то в текстовое поле )
но это ничего не дало...

и SendKeys.sendWait() + HtmlElement.Фокус() трюк, который отлично работал, когда браузер был видимым, но мне нужно, чтобы браузер был невидимым

0 Ответов