我需要使用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
你是什麼意思?你想做一些屏幕報廢? –