qq_21132665 2021-04-26 05:10 采纳率: 0%
浏览 13

VB.NET 关于自动填充网页搜索栏的几个问题

我想通过软件向这个搜索框赋值,这个控件的NAME叫“REMARK” ,但是重名控件较多,无法直接指定这个控件,于是,按照如下写的代码:

Me.WebBrowser1.Document.GetElementsByTagName("REMARK").GetElementsByName("REMARK")(0).SetAttribute("value", "111111")

运行时报如下错误,请问要如何调整这段代码?

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-14 21:27
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    根据您提供的错误信息,代码中存在一个问题:`GetElementsByTagName`方法返回的是一个集合,而不是一个单个的元素。因此,在这里使用`GetElementsByName`方法会导致代码执行出错。要解决这个问题,您可以通过以下方式来赋值搜索框:
    Dim elements As HtmlElementCollection = Me.WebBrowser1.Document.GetElementsByTagName("input")
    For Each element As HtmlElement In elements
        If element.GetAttribute("name") = "REMARK" Then
            element.SetAttribute("value", "111111")
            Exit For
        End If
    Next
    

    这段代码的作用是先通过GetElementsByTagName("input")获取到页面上所有的input元素,然后遍历所有input元素,查找其中name属性为REMARK的元素,最后给这个元素设置值为111111。 您可以将这段代码替换原来的代码部分来实现您的需求。希望对您有帮助。

    评论

报告相同问题?