3

ダウンロードURLを指定せずにcasperjsでCSVファイルをダウンロードする方法はありますか? ダウンロードボタンをクリックするとURLが動的に生成されるCSVファイルをダウンロードしようとしています。そのため、この状況では download() をうまく使用できない場合があります。

4

4 に答える 4

1

私はその解決策を見つけました。あまりきれいではありませんが、機能します:

ファイル名が添付されたすべての resource.received を関連付けるグローバル配列を作成する必要があります。

fileInfos[url]= parse_filename_from_responseHeader(resource)

ダウンロードしたいリソースが url の場合は、最初に open(url) を試してください。これにより resiyrce.received イベントがトリガーされ、ヘッダーが解析され、グローバル配列が更新されます。

を起動する前にcasper.download(url)、 を探しますfileInfos[url]

fileInfos 配列内の URL に対応するファイル名が見つかります。必要に応じて解決策について詳しく説明できますが、質問はすでに数年前のものであるため、

次のポケで詳しく説明するのを待ちます。

于 2015-05-14T15:24:04.760 に答える
0

この phantomjs の問題が解決されるまで、これは不可能ですhttp://code.google.com/p/phantomjs/issues/detail?id=52

于 2012-09-18T06:05:13.043 に答える
0

私がすることは次のようなものですが、受け取るファイル名はわかっています。

this.waitForResource(function check(resource){
            res = resource;    
            // regular expression to test
            return /thefilename/.test(resource.url);
        }, function(){
            this.echo("Resource found: " + res.url);
            // download the file
            this.download(res.url, path);
        }, null, 10000);
于 2017-09-06T15:50:51.627 に答える