如何从HTML元素类中获取文本 [英] How do I get text from HTML element class
本文介绍了如何从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屋!
查看全文