我需要使用visual basic在网页上的两个span标签之间获取文本。VB从html元素中获取文本
<span>Some Text</span>
我知道必须有办法,但我似乎无法找到它。
这是我没有的网站。
我需要使用visual basic在网页上的两个span标签之间获取文本。VB从html元素中获取文本
<span>Some Text</span>
我知道必须有办法,但我似乎无法找到它。
这是我没有的网站。
给你的范围一个ID和runat="server"
属性例如
<span id="xMySpan" runat="server">Some Text</span>
然后,您将能够在服务器端代码中检索它,例如,
Dim sVar As String = xMySpan.InnerHtml
怎么样给ID分配一个ID?如果这样做,那么这个作品:
TextBox1.Text = _
WebBrowser1.Document.GetElementById("spanID").GetAttribute("innerText")
使用这种格式:
<span id="spanID">...</span>
编辑:通过内容过滤:
$("span").filter(function(){
return $(this).html() == "a";
})
将与此工作:
<span>a</span>
我试图选择的范围确实有一个ID,但我需要通过span标签内的文本来选择它 – user2620851
请参阅我的关于按内容过滤的编辑。 – eclipsis
以及无论如何做到这一点,而无需编辑HTML文档@Eric? – user2620851
你是从整个HTML d中提取的或者只是上面引用的文字?
如果它只是上面的(你已经过滤掉了其他的HTML),那么你可以使用LEFT()和RIGHT()的组合来剪掉末端,或者使用REPLACE()来摆脱这两个标签。
我想从整个文件从外部文本 – user2620851
我做了这个剧本,希望这将是有益的
我:
文本框来获取YouTube网址[urlVideo]
按钮加载页面[btn_loadViews]
webBrowser控件[webBrowser1]
和标签来显示文本[lb_views]
我没有验证任何东西,所以这只是我如何从网站获取文本的例子。 如果还有其他方法可以做到这一点,我也想知道它。 =)
Private Sub btn_loadViews_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_loadViews.Click
WebBrowser1.Navigate(urlVideo.Text)
WaitForPageLoad()
getViews()
End Sub
Private Sub getViews()
Try
Dim version = FileVersionInfo.GetVersionInfo("c:\windows\system32\ieframe.dll")
'Depending on the navigator version, google's server sends diffetent pages, so
'Here Detect ie version
If version.ProductVersion < "8" Then
lb_views.Text = WebBrowser1.Document.GetElementById("vc").FirstChild.InnerText
Else
lb_views.Text = WebBrowser1.Document.GetElementById("watch7-views-info").FirstChild.InnerText
End If
Catch ex As Exception
MsgBox(ex.ToString)
Application.Exit()
End Try
End Sub
Private Property pageready As Boolean = False
Private Sub WaitForPageLoad()
AddHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
While Not pageready
Application.DoEvents()
End While
pageready = False
End Sub
Private Sub PageWaiter(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
pageready = True
RemoveHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
End If
End Sub
你是什么意思?你想做一些屏幕报废? –