以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]怎样判定是否存在a标签 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87832) |
-- 作者:新航程小何 -- 发布时间:2016/7/20 17:31:00 -- [求助]怎样判定是否存在a标签 各位老师,我想通过以下代码去获取省市县乡村,但这个代码存在漏洞,比如在执行第2级的时候如果是“市辖区”没有a标签,就行提示错误。所以我想求助老师怎么在这个代码中判定有没有a标签 Dim url As String = "http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2015/" For i As Integer = 11 To 65 Dim web As new System.Windows.Forms.WebBrowser web.Navigate(url & i & ".html") Do While web.ReadyState <> 4 Application.DoEvents Loop Dim trs = web.Document.GetElementsByTagName("table")(4).GetElementsByTagName("tr") For j As Integer = 1 To trs.count - 1 Dim tr = trs(j) Dim tds = tr.GetElementsByTagName("td") output.show(tds(0).innerText) \'最终显示第2级的ID output.show(tds(1).innerText) \'最终显示第2级的名称 \' output.show(tds(1).GetElementsByTagName("a")(0).GetAttribute("href")) Dim web1 As new System.Windows.Forms.WebBrowser web1.Navigate(tds(1).GetElementsByTagName("a")(0).GetAttribute("href")) Do While web1.ReadyState <> 4 Application.DoEvents Loop Dim trs1 = web1.Document.GetElementsByTagName("table")(4).GetElementsByTagName("tr") For j1 As Integer = 1 To trs1.count - 1 Dim tr1 = trs1(j1) Dim tds1 = tr1.GetElementsByTagName("td") output.show(tds1(0).innerText) \'最终显示第3级的ID output.show(tds1(1).innerText) \'最终显示第3级的名称 \'output.show(tds1(1).GetElementsByTagName("a")(0).GetAttribute("href")) Dim web2 As new System.Windows.Forms.WebBrowser web2.Navigate(tds1(1).GetElementsByTagName("a")(0).GetAttribute("href")) Do While web2.ReadyState <> 4 Application.DoEvents Loop Dim trs2 = web2.Document.GetElementsByTagName("table")(4).GetElementsByTagName("tr") For j2 As Integer = 1 To trs2.count - 1 Dim tr2 = trs2(j2) Dim tds2 = tr2.GetElementsByTagName("td") output.show(tds2(0).innerText) \'最终显示第4级的ID output.show(tds2(1).innerText) \'最终显示第4级的名称 \'output.show(tds2(1).GetElementsByTagName("a")(0).GetAttribute("href")) Dim web3 As new System.Windows.Forms.WebBrowser web3.Navigate(tds2(1).GetElementsByTagName("a")(0).GetAttribute("href")) Do While web3.ReadyState <> 4 Application.DoEvents Loop \' 循环打印di Dim trs3 = web3.Document.GetElementsByTagName("table")(4).GetElementsByTagName("tr") For j3 As Integer = 1 To trs3.count - 1 Dim tr3 = trs3(j3) Dim tds3 = tr3.GetElementsByTagName("td") output.show(tds3(0).innerText) \'显示第5级Id \'output.show(tds3(1).innerText) \'显示页面Id output.show(tds3(2).innerText) \'显示5级名称 Next \'web3 = Nothing web3.Dispose Return "" Next \'web2 = Nothing web2.Dispose Return "" Next \'web1 = Nothing web1.Dispose Return "" Next web.Dispose Return "" Next |
-- 作者:大红袍 -- 发布时间:2016/7/20 18:11:00 -- If tds2(1).GetElementsByTagName("a").Count > 0 Then tds2(1).GetElementsByTagName("a")(0).GetAttribute("href") Else msgbox("没有链接") End If
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=86263&skin=0
|