如何在WPF中获取web浏览器控件的输入框的值

本文关键字:控件 输入 浏览器 web WPF 获取 | 更新日期: 2023-09-27 18:07:42

我添加了微软。MSHTML作为我项目的参考,并走了这么远:

        mshtml.IHTMLDocument2 document = (mshtml.IHTMLDocument2)webbrowser.Document;
        string username = document.all["username"].GetAttribute("value");

但是第二行不行。上面写着

"错误CS0021:不能使用[]对类型的表达式应用索引"[。IHTMLElementCollection"

悬停在"all"上时。我如何访问所有的元素?

如何在WPF中获取web浏览器控件的输入框的值

试试这个:

var document = (IHTMLDocument3) webbrowser.Document;
var value =
    document.getElementsByName("username")
            .OfType<IHTMLElement>()
            .Select(element => element.getAttribute("value"))
            .FirstOrDefault();

苦苦挣扎了几个小时后,这个解决方案对我有效。

Dim document = DirectCast(MainBrowser.Document, IHTMLDocument3) 
Dim formName = document.getElementsByName(AppSettings("myFormName")).OfType(Of IHTMLElement)().Select(Function(element) element.getAttribute("name")).FirstOrDefault()