VBでWebBrowser1にページを開いて
そのソースは下のような部分を含んでいて
accesskey.htmを WebBrowser1.????????で
取り出したいのですが
できないでしょうか
<a href="accesskey.htm" accesskey="j">ジャンプ(<u>J</u>)</a>
os XP sp3
vb2008 です
マネージの方の WebBrowser だとすれば、Document プロパティが返す HTMLDocument の
Liks プロパティあるいはGetElementByTagName メソッド等を用いて、
該当の a 要素を表す HtmlElement クラスを取得し、そこから
GetAttribute メソッドで "href" の内容を得ることができるかと思います。
ActiveX の方の WebBrowser の場合もほぼ同様で、Document プロパティから
links プロパティ等で a 要素を列挙するなどして、目的の a 要素を捉えれば、
その HTMLAnchorElement オブジェクトの href プロパティで取得できるかと。
ご返事ありがとうございます
aa = WebBrowser.Document.Links.Count
でリンクの個数は出てきたんですが
GetElementByTagName メソッド等を用いて、
該当の a 要素を表す HtmlElement クラスを取得し
とは
aa = .Document.Links.GetElementsByName("href")
ことでしょうか
ActiveX の方の WebBrowser の場合もほぼ同様で、Document プロパティから
links プロパティ等で a 要素を列挙するなどして
すいません その方法の ヒントいただけませんか
、目的の a 要素を捉えれば、
その HTMLAnchorElement オブジェクトの href プロパティで取得できるかと。
すいません 初歩しかわかってないもので ご迷惑かけます
> aa = WebBrowser.Document.Links.Count
> でリンクの個数は出てきたんですが
For Each element As HtmlElement In WebBrowser1.Document.Links
のようにして、各要素を列挙してください。
> aa = .Document.Links.GetElementsByName("href")
GetElementsByName は、
o = WebBrowser1.Document.GetElementsByName("a")
のように利用します。今回拾いたいのは <a> 要素なので "a" を指定します。
もし、対象要素が <a id="foo" href="〜"> のように「id属性」を持っているなら、
GetElementById メソッドを使って、直接その要素を拾い出すこともできます。
(この他、All プロパティから列挙する方法や、Body などから
FirstChild/NextSibling を駆使して探し出す方法などもあります)
> ActiveX の方の WebBrowser の場合もほぼ同様で、Document プロパティから
> すいません その方法の ヒントいただけませんか
使用している WebBrowser が、System.Windows.Forms.WebBrowser のようなので、
後半の ActiveX 版の解説は、丸ごと無視してください。今回は関係ありません。
もし、ActiveX 版を利用している(通常、AxWebBrowser のような名前になる)なら、
逆に前半の managed WebBrowser の解説の方を無視して頂くことになります。
ツイート | ![]() |