どのようにvb.netの任意の属性を取得せずにWebBrowserドキュメントに任意のテキストを取得するには?どのように属性を取得せずにWebBrowserドキュメントにテキストを取得するには? vb.net
例1:
<h1>text here</h1>
例2:
<h1 name="anything">text here</h1>
がどのように私は "ここにテキストを" 得ることができますか?!
ありがとうございました。 :)
どのようにvb.netの任意の属性を取得せずにWebBrowserドキュメントに任意のテキストを取得するには?どのように属性を取得せずにWebBrowserドキュメントにテキストを取得するには? vb.net
例1:
<h1>text here</h1>
例2:
<h1 name="anything">text here</h1>
がどのように私は "ここにテキストを" 得ることができますか?!
ありがとうございました。 :)
あなたは1)は、正規表現を使用し)すべて<h1>
タグを反復処理または非常に最初の1、または2を取得するために、Webブラウザーのビルトインメソッドを使用することができますどちらか。すべてのタグは簡単ですが、あなただけのHtmlDocument.GetElementsByTagName()
メソッドを使用する必要が反復処理組み込みメソッド
を使用して
。正規表現は、そのない
Dim h1Strings As New List(Of String)
For Each h1Tag As HtmlElement In WebBrowser1.Document.GetElementsByTagName("h1")
h1Strings.Add(h1Tag.InnerText)
Next
を使用して正規表現
使用:
Dim h1Text As String = WebBrowser1.Document.GetElementsByTagName("h1")(0).InnerText
反復するすべてのタグを介し:
は、最初の(時系列)タグを発見しましょうあなたが何をしているのか分かっていれば、大変です。あなたのコードファイルの最上部に置くと、このImports
文を起動するには:
Imports System.Text.RegularExpressions
は今、あなただけのWebブラウザーのDocumentText
<h1>
タグを検索する必要があります。
Dim h1Text As String = Regex.Match(WebBrowser1.DocumentText, "(?<=<h1[^<>\/]*>)((?!<\/h1>).)*(?=<\/h1>)", RegexOptions.IgnoreCase).Value
正規表現パターンについて説明:
(?<=<h1[^<>\/]*>)((?!<\/h1>).)*(?=<\/h1>)
(?<= ...)
:マッチしたテキストは何...
あるが先行されなければなりません。
<h1[^<>\/]*>
:開封タグ<h1>
と任意の属性を一致させてください。
[^<>\/]*
:<
,>
または/
以外のすべての文字に一致します。
((?!<\/h1>).)*
:は</h1>
タグが先行ないすべての文字と一致します。
(?=<\/h1>)
: の後に</h1>
タグが必要です。
これがうまくいく場合は、投稿の左側にある緑のチェックマークを押して、受け入れられた回答としてマークすることを忘れないでください。 –
私はあなたがオンラインになったことに気付くことができません。私の答えは役に立ったのですか? :) –