人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VS2015 C# コマンドラインアプリ作成について教えてください。
以下のURLを参照してclassの値を撮ろうとしています。

http://www.atmarkit.co.jp/fdotnet/dotnettips/687nondispbrowser/nondispbrowser.html

例として取得しようとしているものは以下のurl
http://ejje.weblio.jp/content/solid


<td><div ID=ePsdDl><a href="http://www.weblio.jp/img/dict/kenej/audio/S-D49418A_E-D4965AC.mp3" id="audioDownloadPlayUrl"><i class="fa fa-play-circle"></i><br></div></td></tr><tr><td><span>クイック再生</span></td><td><span>プレーヤー再生</span></td></tr></table>
</td>

のhttp://www.weblio.jp/img/dict/kenej/audio/S-D49418A_E-D4965AC.mp3です。

上記で参考にしたソースではこのa hrefは検出しませんでした。div,td等の下にaがある場合は検出しないのでしょうか?
また、その場合はこのケースではどのタグで段階的に検出すればいいのでしょうか?

●質問者: mai_mai_mail
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●200ポイント ベストアンサー

上記で参考にしたソースではこのa hrefは検出しませんでした。div,td等の下にaがある場合は検出しないのでしょうか?

そんなことはありません。GetElementsByTagName メソッドは、タグの階層に関係なく、ごそっと取得します。

質問の文面で気になるのは、以下のようなところ。

んで、.mp3 な URL を持つ A タグには、id 属性がついているので GetElementById メソッドを使います。
こんな感じ。

 NonDispBrowser ndb = new NonDispBrowser();
 ndb.NavigateAndWait("http://ejje.weblio.jp/content/solid");

 HtmlDocument doc = ndb.Document;

 HtmlElement e = doc.GetElementById("audioDownloadPlayUrl");
 if (! string.IsNullOrEmpty(href)) {
 string href = e.GetAttribute("href"); // HREF属性の値
 Console.WriteLine(href);
 }

mai_mai_mailさんのコメント
ご教授いただいた方法で解決しました。ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ