【问题标题】:C# - Webbrowser control change case of text input in formC# - Webbrowser 控制表单中文本输入的变化情况
【发布时间】:2019-03-13 15:53:45
【问题描述】:

我有这个运行网页的应用程序。页面上的一个输入必须是大写的。该网页是用 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="">    `

【问题讨论】:

  • 不要尝试在浏览器中清理数据,而是在服务器或消费者中进行。

标签: c# webbrowser-control keypress


【解决方案1】:

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

我正在使用:

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

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多