2016-11-16 10 views
1

私は、複数のcasperjsインスタンスが同時にどのように動作するか少し混乱しています。複数のcasperjsインスタンスが同じクッキーを共有しています

「casperjs」c.1.js、c.2.js、...、cxjs(コードは同じです)が複数のプロセスを作成し、リソースを個別に管理する必要があると私は理解していますが、別個のクッキーファイルのようなものです。 「casperjs」c.x.jsファイルを複数回だけ使用すると、同じCookieファイルを共有します。

私の理解は正しいですか?

ありがとうございます。

答えて

1

phantomjsインスタンスはあなたがcasperjs c.x.jsを複数回実行する場合、各インスタンスはあなたが個別にこれらのクッキーを保存したい場合は、あなたがそのようなbashスクリプトを使用することができ、独自のクッキーを持っています 、object phantom.cookies自身の持っている:

#!/bin/bash 
# run it, e.g.: ./test.sh 10 snap.js // 10 times snap.js 
    export PHANTOMJS_EXECUTABLE=/tmp/casperjs/phantomjs  # ln -sf /tmp/casperjs/phantomjs /usr/local/bin 
# export SLIMERJS_EXECUTABLE="/root/slimerjs-0.9.5/slimerjs" # ln -sf /root/slimerjs-0.9.5/slimerjs /usr/local/bin 
num=0 
while [ "$num" != "$1" ] 
do 
let "num++" 
echo instance_"$num" >>/root/t 
/tmp/casperjs/bin/casperjs --cookies-file=/root/casperjs/cookies_"$num".txt /root/casperjs/"$2" >>/root/t & 
echo "$num $1 $2" 
done 
exit 0 

こうすることで、クッキーを別々に使用する複数のワーカーができます。

SlimerJS:

クッキーは、MozillaのプロファイルのSQLiteのデータベースに格納されています。永続的なCookieを使用する場合は、PhantomJSのようなファイルを指定することはできませんが、永続的なプロファイルを作成する必要があります。 profilesを参照してください。また

読む:
https://docs.slimerjs.org/current/api/cookie.html#cookie
https://docs.slimerjs.org/current/api/phantom.html#phantom-cookies

+1

感謝。私の質問は、それぞれのcasperjsインスタンスが同じドメインにアクセスするときに、別々にクッキーを管理する方法です。私は、クッキーファイルの場所を指定すると助けになるとは思わない。 – Yijin

関連する問題