0

Visual Basic を使用して、Web ページの 2 つのスパン タグの間のテキストを取得する必要があります。

<span>Some Text</span>

方法があるに違いないことはわかっていますが、それを見つけることができないようです。

これは私が所有していないウェブサイト用です。

4

5 に答える 5

1

スパンに ID とrunat="server"属性を与えます。

<span id="xMySpan" runat="server">Some Text</span>

次に、サーバー側のコードでそれを取得できます。

Dim sVar As String = xMySpan.InnerHtml
于 2013-07-29T21:32:07.493 に答える
0

このスクリプトを作成しました。参考になれば幸いです

私は持っている:

  • YouTube の URL を取得するためのテキスト ボックス [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
于 2013-12-03T06:14:59.777 に答える
0

スパンに ID を割り当てるとどうなりますか? もしそうなら、これはうまくいきます:

TextBox1.Text = _
 WebBrowser1.Document.GetElementById("spanID").GetAttribute("innerText")

この形式の使用:

<span id="spanID">...</span>

編集:コンテンツでフィルタリングするには:

$("span").filter(function(){
    return $(this).html() == "a";
})

これで動作します:

<span>a</span>
于 2013-07-29T21:33:51.657 に答える
0

これを HTML ドキュメント全体から抽出していますか、それとも上記の引用テキストだけから抽出していますか?

上記だけの場合 (そして既に他の HTML を除外している場合)、LEFT() と RIGHT() の組み合わせを使用して端を切り落とすか、REPLACE() を使用して 2 つのタグを取り除くことができます。

于 2013-07-29T21:38:06.223 に答える