none
Web アプリケーションの自動操作 RRS feed

  • 質問

  • Webインタフェースを使ったアプリケーションをプログラムでコントロールして情報収集するプログラムを作っているのですが、WebBrowser内のリンクをクリックすると、別Browserを開くリンクがあり、この新しく開いたBrowserにアクセスする方法が分からず困っています。NewWindow2イベントを拡張する例は見たのですが、.net Framework 2.0では無くなってしまったようで、手がかりが無くなってしまいました。

     

    やりたいことは、あるHtmlDocument内のリンクをクリックして、表示されたhtmlDocumentの内容を解釈をして、情報を集めたい。同じWebBrowser内で表示されれば問題なく出来るのですが、別ウィンドウが開かれるため、この新しいWebBrowserへのアクセス方法が分かりません。どの様にしたら、この新しく開かれたWebBrowser(正しくはIE、WebBrowserで開いてもよい)へアクセスするればいいのでしょうか。(URLを直接指定してアクセスすることを試みたのですが、どうもCookieなどを使っているようで、リンクをクリックしないと、正しく表示されません。)

     

    よろしくお願いいたします。

    2007年8月10日 2:01

すべての返信

  •  オヤジ・ファイター さんからの引用

    NewWindow2イベントを拡張する例は見たのですが、.net Framework 2.0では無くなってしまったようで、手がかりが無くなってしまいました。

    何が無くなったと仰られているのでしょうか、「Microsoft Web Browser」のことでしたら、ありますよ。

    ツールボックスで右クリック「アイテムの選択」で出てくるダイアログの、「COMコンポーネント」タブを選択して、一覧の「Microsoft Web Browser」の左のチェックボックスにチェックすれば、ツールボックスに追加できます。

     

     

    2007年8月10日 3:49
  • 解答でなくてすみませんが。

    COMのAxWebBrowser(MicroSoft Web Browser)を使うのではなく、
    System.Windows.Forms.WebBrowserを用いて処理をしたい、
    ということではないのでしょうか?
    (mshtml.dllを参照追加するのがいやだ、等の理由で。)

    私も実は同じ問題に直面しております。


    AxWebBrowserにはNewWindow2がありますが
    WebBrowserにはNewWindowしかないんですよね…。

     

    2007年8月11日 9:17
  • ありがとうございます。そうです。

    お恥ずかしい話、全体が見えていないので、質問の仕方が、とんちんかんになってしまいました。

    System.Windows.Forms.WebBrowserを使った方が簡単かな、と思っていたものですから。

    COMを使うべきところなのかもしれませんね。

     

    (私の方は、結局、いま見ているページの処理を全て終えてから、同じ、WebBrowserでNavigateすることにより、回避しました。でも、べつWindowを開いて処理するやり方が分かると、処理効率が上がりそうなので、技術的には大変興味があります。)

    2007年8月13日 2:38
  • 検索したらこんなん見つかりました。(C#ですが)

    http://vsug.jp/tabid/63/forumid/45/postid/9273/view/topic/Default.aspx

    2007年8月14日 8:26
  • かさのばさん、ありがとうございます。

    まさしくこれですね。(多分)

     

    C# ->VBへのマッピングをしないといけないのですが、いま忙しくて、手が回りません。

    そのうちC#を勉強して、やってみましょう。

    2007年8月17日 3:03