【发布时间】:2018-10-18 20:48:33
【问题描述】:
我搜索了 9 个小时来获取这些图片的链接并将所有内容放在PictureBoxes 中,我尝试了几次以获取“通过 id、标签名称获取元素...”我很困惑,这种标签层次结构非常困难,因为还有其他几个同名的标签。
HTML
<ul class="FirstClass" id="pageID">
<li class="coverPage">...</li>
<li class="coverPage">
<a href="https://myfirstsite.com/post" title="My Site Page">
<img src="https://myfirst.com/post/image.jpg" title="Image of This Post">
<li class="coverPage">...</li>
<li class="coverPage">
<a href="https://myfirstsite.com/post" title="My Site Page">
<img src="https://myfirst.com/post/image.jpg" title="Image of This Post">
</li>
试试
If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
If WebBrowser1.Url.ToString = ("https://myfirst.com/") Then
Dim ImgTags As HtmlElementCollection = WebBrowser1.Document.Body.GetElementsByTagName("img")
For Each element As HtmlElement In ImgTags
Dim ImgUri As String = element.GetAttribute("src")
PictureBox1.ImageLocation = ImgUri
Next
End If
End If
试试 2 ( ??? :s)
Dim PicsTag As New ArrayList
Dim countPics As Integer = 0
For Each item As HtmlElement In WebBrowser1.Document.Body.GetElementsByTagName("img")
PicsTag.Add(item.InnerText)
Me.Controls("Label" & countPics.tostring).Text = PicsTag(0)
countPics = +1
ListBox1 ???
Next
*注意**:有没有工具可以提取这些标签并将其转换为VB.NET?
【问题讨论】:
-
不用担心 Html 标签嵌套。订阅了
WebBrowser.DocumentCompleted事件。在事件处理程序中,插入一个检查:If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then (...) End If。文档完成后,If/End If块中的代码将执行。在那里,您可以获得所有 IMG 标签的集合:Dim ImgTags As HtmlElementCollection = WebBrowser1.Document.Body.GetElementsByTagName("img")。迭代集合:For Each element As HtmlElement In ImgTags获取链接Dim ImgUri as string = element.GetAttribute("src") -
然后你就可以下载图片了(
WebClient在这里就派上用场了)。或设置PicureBox.ImageLocation = ImgUri。 -
吉米,感谢您的回复!我忘了提一个细节,我会纠正我的问题。
-
您一遍又一遍地设置同一
PictureBox的ImageLocation属性。如果您打算获取所有图像(未知编号),则需要List(Of PictureBox)。提取到List(Of String)的所有链接,为每个图像链接创建一个新的PictureBox,设置其属性(主要是ImageLocation、Size和SizeMode),然后将其添加到List(Of PictureBox)。将所有PictureBoxes插入List中的TableLayoutPanel(用作演示助手),就完成了。 -
我从未使用过图片框列表 jimi :/
标签: vb.net winforms webbrowser-control