C#
HtmlDocumentのGetAttribute
WebBrowswerが表示するhtml中のリンクを取得して
独自に処理をしようとする時、HtmlDocumentから
特定のHtmlElementを抜き出して、処理をする必要がある。
指定されたポイントからエレメントを特定できたりする。
結構便利だ。右クリックされた時にクリックされたリンクを・・・
という処理をしたい時に
HtmlElement el = Document.GetElementFromPoint(e.Location);
(DocumentはWebBrowser.Document eはMouseEventArgs)
すれば簡単に取れる。そのHtmlElementが
<a href="http://www.example.com">Hoge</a>
のようなリンクで、URLを取得したい場合は、
HtmlElement.GetAttributeで取得してやればいい。
string attr = el.GetAttribute("href");
GetAttributeは特定の属性を抜いてくれるのでhref属性を
指定すれば、問題なく取れる。
しかも、<a href="/sample">~</a>という相対パスでも
HtmlElementがきちんと「http://www.example.com/sample 」
という絶対パスとして返してくれる。
これをHtmlElement.OuterHtml等から取得して文字列操作で
対応しようとすると、相対パス → 絶対パスの変換が必要で 対応が面倒そう。
「Edy」を使ってソニースタイルでカシコクお買い物
投稿日 : 09:36 | コメント (0) | トラックバック(0)



