我需要使用visual basic在网页上的两个span标签之间获取文本。
<span>Some Text</span>
我知道必须有办法,但我似乎无法找到它。
这是我不拥有的网站。
答案 0 :(得分:1)
为您的范围提供ID和runat="server"
属性,例如
<span id="xMySpan" runat="server">Some Text</span>
然后,您将能够在服务器端代码中检索它,例如
Dim sVar As String = xMySpan.InnerHtml
答案 1 :(得分:0)
如何为跨度分配ID?如果你这样做,那么这就有效:
TextBox1.Text = _
WebBrowser1.Document.GetElementById("spanID").GetAttribute("innerText")
使用以下格式:
<span id="spanID">...</span>
编辑:按内容过滤:
$("span").filter(function(){
return $(this).html() == "a";
})
可以使用:
<span>a</span>
答案 2 :(得分:0)
您是从整个HTML文档中提取此内容还是仅从上面引用的文本中提取此内容?
如果它只是上面的(你已经过滤掉了其他的HTML)那么你可以使用LEFT()和RIGHT()的组合来剪掉两端,或者使用REPLACE()来摆脱它两个标签。
答案 3 :(得分:0)
我制作了这个剧本,希望它会有所帮助
我有:
获取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
答案 4 :(得分:-2)
Dim WithEvents hDoc As HTMLDocument
Set hDoc = WebBrowser1.Document
Dim strValue As String
strValue = hDoc.getElementsByName("so").Item(0).Value