C # - веб-браузер управления изменением регистра ввода текста в форме - PullRequest
0 голосов
/ 13 марта 2019

У меня есть это приложение, которое запускает веб-страницу. Один ввод на странице должен быть в верхнем регистре. Веб-страница написана на Javascript, и, к сожалению, я не могу использовать обычный способ с веб-браузером, чтобы перехватить поле формы и изменить его. (Как если бы я искал исходный код, у меня нет никаких полей ввода в «форме») ...

Мне было интересно, есть ли способ захвата ввода с клавиатуры или что-то подобное с помощью веб-браузера? Я обнаружил, что вы можете использовать PreviewKeyDown, но, к сожалению, когда я использую его для отправки заглавных букв, он отправляет нажатие нескольких кнопок вместо того, которое я сделал. Так что это не хорошо ...

Я знаю, что это неопределенно, но я застрял в данный момент, и я не могу найти то, что я ищу.

Редактировать: Я нашел HTML-элемент моего ввода в моей форме ... но по-прежнему нет идентификатора?

`<input name="s_2_1_1_0" tabindex="0" class="BLABLABLA s_2_1_1_0" aria-readonly="false"
 aria-describedby=" s_2_1_1_0_icon" aria-labelledby="NUMBER_Label" 
style="width: 136px; height: 24px;" aria-label="Serial #" 
type="text" placeholder="<Case Sensitive>" value="">    `

1 Ответ

0 голосов
/ 13 марта 2019

Хорошо, я нашел обходной путь.

Я использую:

`            HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("s_2_1_1_0");
        var ele = webBrowser1.Document.All["s_2_1_1_0"];
        ele.TagName.ToLower();
        //MessageBox.Show(ele.GetAttribute("value"));
        //  MessageBox.Show(webBrowser1.Document.All.GetElementsByName("s_2_1_1_0").GetAttribute.ToString());

        ele.SetAttribute("value", ele.GetAttribute("value").ToUpper());    `
...