ここで説明されているように、Xvfb を使用してヘッドレス Ubuntu サーバーでSeleniumを実行しています。
私はXvfbを起動しています:
#!/bin/bash
disp=${1:-"99"}
/usr/bin/Xvfb :$disp -ac 2>&1 | tee /var/log/run-xvfb.log
そして、私はSelenium-Serverを次のように起動しています:
#!/bin/bash
disp=${1:-"0"}
export DISPLAY=":$disp" && java -jar selenium-server-standalone-2.21.0.jar 2>&1 | tee /var/log/run-selenium-server.log
私の起動コードは次のようになります。
from selenium import selenium
sel = selenium('localhost', 4444, '*firefox', 'http://www.google.com')
sel.start() # This takes forever!!!
<do stuff>
通常は動作しますが、sel.start()
完了するまでに 15 分以上かかる場合があります。奇妙なことに、ログ ファイルは書き込まれないため、エラーが発生しているかどうかはわかりません。まさに「ぶら下がっている」ようです。
同じく Ubuntu ですが、通常のデスクトップ GUI がセットアップされているローカル マシンでこの同じコードを実行すると、1 分もかからないので、サーバーで何かひどく問題が発生していることがわかります。何が問題なのかを診断し、Selenium のひどいパフォーマンスを改善するにはどうすればよいですか?