まず第一に、stackoverflow は私の現在のプロジェクトに大いに役立ったと言いたいです。ありがとう! しかし、以前の質問をざっと読んでも助けが見つからないところまで来ました。まず、私が何をしているかの概要を簡単に説明します。
私の仕事では、定期的に実行するこの非常に面倒なプロセスがあり、それを自動化したいと考えています。プロセスは非常に基本的です。Web サイトにアクセスしてログインし、適切なページに移動し、Excel から 6 つの値をコピーして Web サイトのフォームに貼り付け、フォームを送信し、特定の出力レポートをダウンロードします。このプロセスを 60 回繰り返したので、これは Excel と Internet Explorer の自動化の最有力候補のように思えました。
適切な URL で新しいウィンドウを開き、ログインし、正しいページに移動し、フォームに入力してフォームを送信できる非常に基本的な Excel マクロを作成しましたが、レポートをダウンロードする方法がわかりません。これにはいくつかの複雑さが追加されており、私は Javascript や PHP などに十分に慣れていません。何が起こっているのかを理解するために。
問題: 生成する正しいレポートを選択すると、生成されたレポートを含む新しいウィンドウがポップアップ表示されます。「View Source Document」をクリックすると、このページは基本的に空です。ヘッダーに Javascript ページへのリンクがあり、ページに直接 CSS が少しあり、HTML の 2 つの小さなスニペットのようになっています。このページにダウンロードボタンがありますが、HTMLで作成されているようには見えません。
質問 1: これは Javascript アプリケーションですか? ダウンロードボタンを押すことをシミュレートする方法はありますか?
私が理解していることから、2 つの IE ウィンドウ間を移動する必要がある場合、マクロの複雑さが大幅に増加します (スプレッドシートをダウンロードするためにクリックするための HTML リンクがないことは言うまでもありません)。これを行うには別の方法があります。生成されたレポートで新しいウィンドウの URL を確認し、Firefox の開発者ツール (具体的には Web コンソール) で何が起こっているかを分析しようとしました。ここでさらに迷ってしまいます…
一連の「投稿」があります。これらの投稿は、出力が Web サイト内で作成されているときに表示されます。
POST https://www.website.com/somethingdb/quickframe/prod/#####/single_frame_results/correct_output.asp?THIS_KEY=370120c59da884dbdc375b1582a2142c1363533393a313335363032353737363a3646314a313937334a32353030303&bEmbedded=1
POST https://www.website.com/somethingdb/javascriptsource/prod/#####/website/forms/datagrid/DataGrid.html
POST https://www.website.com/qc?function=QuickFrameRmi
次に、[ダウンロード] ボタンをクリックすると、1 つの POST と 1 つの GET が表示されます。
POST https://www.website.com/qc?function=CorrectReport.generateExportFile
得る
GET https://www.website.com/somethingdb/quickframe/prod/#####/dlf/x6::370120c59da884dbdc375b1582a2142c1363533393a313335363032353737363a3646314a313937334a323530303031356026339.xls/sfn/RIGHTPAGE_scen_1_deal_cf.xls
GET のリファラーは次のようになります。
https://www.website.com/somethingdb/quickframe/prod/#####/single_frame_results/correct_output.asp?THIS_KEY=370120c59da884dbdc375b1582a2142c1363533393a313335363032353737363a3646314a313937334a32353030303&sPagename=RIGHTPAGE&nScenarios=1&bShowExtendedFields=1&bShowAllCollats=0&ShowUnderlyingPage=0&sUnderlyingPage=&WebsitewrapDb=websitewrap&iSettleId=&bScrollbars=true&time=1356025839577
私が言ったように、これらのことに関する私の知識は非常に限られていますが、ダウンロード ボタンをクリックすると、上記の GET が Web サイトのサーバーに保存されている実際のファイル名であることはわかっています。Excel を開いて [開く] をクリックし、そのファイル パスを入力すると、必要なものが正確にダウンロードされます。
だからここに私が考えていることがあります。ダウンロード プロセスをシミュレートし、その GET をログに記録するように Web サイトに指示できれば、それを保存するだけで済みます。マクロが必要なすべてのレポートの生成を終了したら、Excel に戻ってセットアップするだけです。それらすべてをダウンロードするための単純なループ?? 変更される GET の部分を特定しました。
x6::370120c59da884dbdc375b1582a2142c
63032353737363a3646314
6026339
これは私の最初の投稿なので、私のバックストーリーが長くなりすぎていたら申し訳ありません。最初からできるだけ明確にしたかっただけです。ウェブサイト内で実際に何が起こっているのだろうか?私が提案していることは理にかなっていますか?出来ますか?より良い方法はありますか。助けてくれてありがとう。