为什么HtmlElement的元素等于null(Why elements of HtmlElement equal to null)

编程入门 行业动态 更新时间:2024-10-26 19:31:04
为什么HtmlElement的元素等于null(Why elements of HtmlElement equal to null)

下面的代码每次都会让我崩溃,因为elements3为null,所以在我到达循环之前如何让elements3有一些元素

Dim elements3 As HtmlElement For Each elements3 In WebBrowser3.Document.GetElementsByTagName("textarea") If elements3.GetAttribute("tabindex") = "1" Then elements3.SetAttribute("value", Text_TO_Pass_2) End If Next For Each webpageelemnt3 As HtmlElement In WebBrowser3.Document.GetElementsByTagName("input") If webpageelemnt3.GetAttribute("name") = "sbutton" Then If webpageelemnt3.GetAttribute("tabindex") = "1" Then webpageelemnt3.InvokeMember("click") End If End If Next Threading.Thread.Sleep(5000) WebBrowser3.Navigate(TextBox3.Text)

The below code gives me a crash every time because elements3 is null so how to make the elements3 have some elements before I reach the loop

Dim elements3 As HtmlElement For Each elements3 In WebBrowser3.Document.GetElementsByTagName("textarea") If elements3.GetAttribute("tabindex") = "1" Then elements3.SetAttribute("value", Text_TO_Pass_2) End If Next For Each webpageelemnt3 As HtmlElement In WebBrowser3.Document.GetElementsByTagName("input") If webpageelemnt3.GetAttribute("name") = "sbutton" Then If webpageelemnt3.GetAttribute("tabindex") = "1" Then webpageelemnt3.InvokeMember("click") End If End If Next Threading.Thread.Sleep(5000) WebBrowser3.Navigate(TextBox3.Text)

最满意答案

GetElementsByTagName似乎返回Nothing ,如果在标准DOM模型中找不到任何元素(它不返回空列表),这是正常行为。 所以在迭代结果之前,检查一下。

Dim elements3 As HtmlElement elements3 = WebBrowser3.Document.GetElementsByTagName("textarea") If Elements3 IsNot Nothing Then For Each elements3 In WebBrowser3.Document.GetElementsByTagName("textarea") If elements3.GetAttribute("tabindex") = "1" Then elements3.SetAttribute("value", Text_TO_Pass_2) End If Next End if

GetElementsByTagName seems to return Nothing, which is normal behavior if there are no elements found in the standard DOM model (it doesn't return an empty list). So before iterating through the result, check for nothing.

Dim elements3 As HtmlElement elements3 = WebBrowser3.Document.GetElementsByTagName("textarea") If Elements3 IsNot Nothing Then For Each elements3 In WebBrowser3.Document.GetElementsByTagName("textarea") If elements3.GetAttribute("tabindex") = "1" Then elements3.SetAttribute("value", Text_TO_Pass_2) End If Next End if

更多推荐

本文发布于:2023-08-03 01:33:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1382449.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:元素   HtmlElement   null   equal   elements

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!