Page 45 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼質問:VBSで指定されたURLを開いたあとにその内容を処理する方法は? batuGp1w 02/12/19(木) 11:10 ┗Re:質問:VBSで指定されたURLを開いたあとにその内容を処理する方法は? sim 02/12/21(土) 15:58 ┗丁寧な解説ありがとうございました batuGp1w 02/12/24(火) 15:33 ─────────────────────────────────────── ■題名 : 質問:VBSで指定されたURLを開いたあとにその内容を処理する方法は? ■名前 : batuGp1w ■日付 : 02/12/19(木) 11:10 -------------------------------------------------------------------------
VBSで質問です。 現在開いているページにあるURLを開いたあとに、 その開いたページにあるURLを開いたりする場合はどうすればいいのでしょう? どなたかご存じの方がいらっしゃるようならば教えていただきたいです。 具体的には、以下のようなことがしたいです。 B,CにリンクしているAというページがあったとします。 ・Aを開いている状態でスクリプトを実行 ・AのページからBへのリンクを発見しそれを開く ・Bのページが開き終わるのを待つ ・Bのページからjpgファイルを発見し、それを開く ・jpgファイルを開き終るのを待つ ・保存する ・jpgファイルを閉じる ・Bのページを閉じる ・AのページからCへのリンクを発見しそれを開く ・Cのページが開き終わるのを待つ ・ ・ ・ ・スクリプト終了 |
VBScriptでの書き方ではありませんが… ・あるページからリンクを発見する ページ中のリンクは document.links や document.getElementsByTagName("a") などで要素の集合を取得できます。上の方法ではページの一つ目のリンク先URLは document.link[0].href になります。 ページ中の画像は document.images や document.getElementsByTagName("img") などで集合を取得できます。たとえば上の方法ではページ中の一つ目の画像のURLは document.images[0].src になります。 ・ページが開き終わるのを待つ BugBrowserAPIのCreateDocumentViewObject()メソッドで生成したドキュメントビューオブジェクトにNavigateStatusプロパティがあるので、それでチェックしてください。 ドキュメントビューオブジェクトの生成にはビューIDが必要になりますが、BugBrowserAPIのNavigateNew()で新しく開いたページはドキュメントのリストの最後に追加されるので、 DocumentView(DocumentCount - 1) というようにすれば取得できます(広告ウィンドウなどが開かれていなければですが)。 保存に関しては開いた画像ファイルのdocumentオブジェクトに対してexecCommand("SAVE", ...)とかだったと思います。 ダウンロードについてはIrvineAPIを呼び出すほうが楽なので任せてしまっていますが。 というか、その作業内容でしたらたとえばIrvineの「リンクのインポート」といった機能のほうが便利かつお手軽に使えると思います。ダウンロード後のファイル管理もしやすいですし。 |
おかげさまで、理解できました。 DocumentView(DocumentCount - 1)を使うというのが思いつかなかったです。 広告はでないと仮定しているので、これで大丈夫でした。 ただ、保存に関してはまだうまくいっていないです。 もし、ご存知であれば別のツリーに書きましたので教えていただけるとうれしいです。 Irvineは便利なのですが、BugBrowser単体で作業したいと思っています。 丁寧な解説ありがとうございました。 |