以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]WebBrowser里面网页对象子对象遍历抓取  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173881)

--  作者:haotinghua
--  发布时间:2021/12/21 1:55:00
--  [求助]WebBrowser里面网页对象子对象遍历抓取
 对应的对象web.document.GetElementsByTagName("ul")(2).Children(0).Innertext可以获取其下面的全部值(假设有十个子对象的DIV)

    msgbox(web.document.GetElementsByTagName("ul")(2).FirstChild.Innertext) \'第一个子元素  正确
    msgbox(web.document.GetElementsByTagName("ul")(2).FirstChild.NextSibling.Innertext) \'第一个子元素的相邻 正确
    msgbox(web.document.GetElementsByTagName("ul")(2).LastChild.Innertext) \'最后一个子元素的相邻 错误

不知道是否可以用遍历的思路,但无法定义类型
    \'For Each c As web.document.GetElementsByTagName("div") In web.document.GetElementsByTagName("ul")(2).Childrens
    \'msgbox(c.Innertext)
    \'Next


希望可以对母元素判断或遍历下面的子元素,求助
[此贴子已经被作者于2021/12/21 2:07:12编辑过]

--  作者:有点蓝
--  发布时间:2021/12/21 8:38:00
--  
For Each c As object In web.document.GetElementsByTagName("ul")(2).Childrens

For Each c As System.Windows.Forms.HtmlElement In web.document.GetElementsByTagName("ul")(2).Childrens

https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.htmlelement?view=netframework-4.8
[此贴子已经被作者于2021/12/21 8:37:54编辑过]

--  作者:haotinghua
--  发布时间:2021/12/21 11:32:00
--  
谢谢蓝老师,Childrens属性要去掉s为Children,实测两个 for each 不同的定义类型都可以使用成功
--  作者:有点蓝
--  发布时间:2021/12/21 11:36:00
--  
object是所有对象类型的父类,不知道什么类型的时候,就使用object。虽然有一点点的性能损失,不过如果不是对性能非常敏感的功能倒也无需在意