ヘッドレスブラウザとか言ってらんない人用。
selenium
% sudo su
% mkdir /usr/lib/selenium/
% cd /usr/lib/selenium/
% wget http://selenium.googlecode.com/files/selenium-server-standalone-2.25.0.jar
% mkdir -p /var/log/selenium/
% chmod a+w /var/log/selenium/
seleniumのinit scriptを書く。
% sudo vi /etc/init.d/selenium #!/bin/bash case "${1:-''}" in 'start') if test -f /tmp/selenium.pid then echo "Selenium is already running." else export DISPLAY=:99 java -jar /usr/lib/selenium/selenium-server-standalone-2.25.0.jar > /var/log/selenium/selenium-output.log 2> /var/log/selenium/selenium-error.log & echo $! > /tmp/selenium.pid echo "Starting Selenium..." error=$? if test $error -gt 0 then echo "${bon}Error $error! Couldn't start Selenium!${boff}" fi fi ;; 'stop') if test -f /tmp/selenium.pid then echo "Stopping Selenium..." PID=`cat /tmp/selenium.pid` kill -3 $PID if kill -9 $PID ; then sleep 2 test -f /tmp/selenium.pid && rm -f /tmp/selenium.pid else echo "Selenium could not be stopped..." fi else echo "Selenium is not running." fi ;; 'restart') if test -f /tmp/selenium.pid then kill -HUP `cat /tmp/selenium.pid` test -f /tmp/selenium.pid && rm -f /tmp/selenium.pid sleep 1 export DISPLAY=:99 java -jar /usr/lib/selenium/selenium-server-standalone-2.25.0.jar > /var/log/selenium/selenium-output.log 2> /var/log/selenium/selenium-error.log & echo $! > /tmp/selenium.pid echo "Reload Selenium..." else echo "Selenium isn't running..." fi ;; *) # no parameter specified echo "Usage: $SELF start|stop|restart|reload|force-reload|status" exit 1 ;; esac
% sudo chmod 755 /etc/init.d/selenium
% sudo update-rc.d selenium defaults
xvfbとfirefox(iceweasel)
% apt-get install xvfb iceweasel
xvfbのinit scriptを書く。
% sudo vi /etc/init.d/xvfb
#!/bin/bash
XVFB=/usr/bin/Xvfb
# XVFBARGS=":99 -fbdir /var/run -ac"
XVFBARGS=":99 -nolisten tcp -fbdir /var/run"
PIDFILE=/var/run/xvfb.pid
case "$1" in
start)
echo -n "Starting virtual X frame buffer: Xvfb"
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
echo "."
;;
stop)
echo -n "Stopping virtual X frame buffer: Xvfb"
start-stop-daemon --stop --quiet --pidfile $PIDFILE
echo "."
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/xvfb {start|stop|restart}"
exit 1
esac
exit 0
% sudo chmod a+x xvfb
% update-rc.d xvfb defaults
CentOS6だとreboot時にPIDファイルが残るみたい
これ↓にしたらその点は直った
http://www.hironoki.com/blog/?p=583