C#-Webbrowser控件更改表单中文本输入的大小写

时间:2019-03-13 15:53:45

标签: c# webbrowser-control keypress

我有一个运行网页的应用。页面上的一个输入必须为大写。该网页是用Javascript编码的,不幸的是,我无法通过webbrowser使用正常方式来拦截表单字段并进行更改。 (就像我搜索源代码一样,“表单”中没有任何输入字段)...

我想知道是否可以使用webbrowser捕获键盘输入或类似内容?我发现可以使用PreviewKeyDown,但是不幸的是,当我使用它发送回一个大写字母时,它会发送多个按键,而不仅仅是我的按键。那就不好了...

我知道它含糊不清,但此刻我被困住了,我似乎找不到想要的东西。

编辑:我在表单中找到了输入的HTML元素...但仍然没有ID?

`<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 :(得分:0)

好的,我找到了解决方法。

我正在使用:

`            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());    `