如何在Xvfb中运行Selenium?我在EC2上。所以没有GUI。$pip install selenium
$sudo apt-get install firefox xvfb然后我就这么做:$Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &$DISPLAY=:1 java -jar selenium-server-standalone-2.0b3.jar05:08:31.227 INFO - Java:
Sun Microsystems Inc. 19.0-b0905:08:31.229 INFO - OS: Linux 2.6.32-305-ec2 i38605:08:31.233 INFO - v2.0 [b3],
with Core v2.0 [b3]05:08:32.121 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub05:08:32.122 INFO -
Version Jetty/5.1.x05:08:32.123 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]05:08:32.124 INFO -
Started HttpContext[/selenium-server,/selenium-server]05:08:32.124 INFO - Started HttpContext[/,/]05:08:32.291 INFO - Started
org.openqa.jetty.jetty.servlet.ServletHandler@1186fab05:08:32.292 INFO - Started HttpContext[/wd,/wd]05:08:32.295 INFO - Start
ed SocketListener on 0.0.0.0:444405:08:32.295 INFO - Started org.openqa.jetty.jetty.Server@1ffb8dc太好了,现在一切都正常了,对吧?当我运行我的代码时:from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys
import Keysbrowser = webdriver.Firefox() browser.get("http://www.yahoo.com")我明白了:Error: cannot open display: :0
3 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
xhost +
export DISPLAY=:0.0
ABOUTYOU
TA贡献1812条经验 获得超5个赞
export DISPLAY=:99 /etc/init.d/xvfb start
/etc/init.d/xvfb stop
init.d
#!/bin/bash XVFB=/usr/bin/Xvfb XVFBARGS="$DISPLAY -ac -screen 0 1024x768x16" PIDFILE=${HOME}/xvfb_${DISPLAY:1}.pid case "$1" in start) echo -n "Starting virtual X frame buffer: Xvfb" /sbin/start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS echo "." ;; stop) echo -n "Stopping virtual X frame buffer: Xvfb" /sbin/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
添加回答
举报
0/150
提交
取消