如何从HTML元素类中获取文本 [英] How do I get text from HTML element class

查看:115
本文介绍了如何从HTML元素类中获取文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我正试图从课堂上获取文字

元素


i'm trying to get text from class
the element

<div id="cp-0" class="caption-line" data-time="19.5">
   <div class="caption-line-time">0:19</div>
   <div class="caption-line-text">I used to bite my tongue and hold my breath  Scared to rock the boat and make a mess</div>
</div>





我尝试了什么:





What I have tried:

If SaveFileDialog1.ShowDialog = DialogResult.OK Then
                FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
Dim elems As HtmlElementCollection
                elems = WebBrowser1.Document.GetElementsByTagName("div")
                For Each elem As HtmlElement In elems
                    Dim classstr As String = elem.GetAttribute("class")
                    If ((classstr Is Nothing) And (classstr.Length <> 0)) Then
                        If classstr.ToLower().Equals("description") Then
                            Dim conStr As String = elem.GetAttribute("content")
                            PrintLine(1, conStr)
                        ElseIf classstr.ToLower().Equals("caption-line-text") Then
                            Dim conStr As String = elem.GetAttribute("content")
                            PrintLine(1, conStr)
                        End If
                    End If
                Next
                FileClose(1)
            End If
        End If

推荐答案

你已经进行了初步测试,修复它:

You've got the initial test backwards, fix it:
If ((classstr IsNot Nothing) And (classstr.Length <> 0)) Then


试试这个编辑。如果这次不起作用,请包括显示的整个错误。

i需要确切知道哪个没有设置。



give this edit a try. if it doesnt work this time, please include the entire error shown.
i need to know exactly which onject is not set.

If SaveFileDialog1.ShowDialog = DialogResult.OK Then
                FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
Dim elems As HtmlElementCollection
                elems = WebBrowser1.Document.GetElementsByTagName("div")
                For Each elem As HtmlElement In elems
                    Dim classstr As String = ""
                       classstr = elem.domelement.className '<---------------------------Changed this line
                    If classstr <> "" Then
                        If classstr.ToLower() = "description" Then
                            Dim conStr As String = elem.innertext
                            PrintLine(1, conStr)
                        ElseIf classstr.ToLower() = "caption-line-text" Then
                            Dim conStr As String = elem.Innertext
                            PrintLine(1, conStr)
                        End If
                    End If
                Next
                FileClose(1)
            End If
        End If


'感谢所有我解决这个问题



如果SaveFileDialog1.ShowDialog = DialogResult.OK那么

FileOpen(1,SaveFileDialog1.FileName,OpenMode.Output)

For Each telement As HtmlElement In WebBrowser1.Document.GetElementsByTagName(" div")

Dim tElementClass As String =" caption -l ine-time"

Dim selementclass As String =" caption-line-text"

if telement.OuterHtml.Contains(tElementClass)AndAlso telement.OuterHtml.Contains(selementclass) )然后

Dim conStr As String = telement.GetAttribute(" innertext")

PrintLine(1,conStr)



结束如果

下一页

结束如果





FileClose (1)



结束如果
'thanks for all i solve it by this

If SaveFileDialog1.ShowDialog = DialogResult.OK Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
For Each telement As HtmlElement In WebBrowser1.Document.GetElementsByTagName("div")
Dim tElementClass As String = "caption-line-time"
Dim selementclass As String = "caption-line-text"
If telement.OuterHtml.Contains(tElementClass) AndAlso telement.OuterHtml.Contains(selementclass) Then
Dim conStr As String = telement.GetAttribute("innertext")
PrintLine(1, conStr)

End If
Next
End If


FileClose(1)

End If


这篇关于如何从HTML元素类中获取文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆