首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FreeBSD -使用pyvirtualdisplay -Python2.7/ Selenium Web Driver

FreeBSD -使用pyvirtualdisplay -Python2.7/ Selenium Web Driver
EN

Stack Overflow用户
提问于 2015-12-20 15:17:07
回答 1查看 491关注 0票数 0

下面是我用FreeBSD编写的代码。在这段代码之前,我做了

代码语言:javascript
复制
pkg install xorg-vfbserver

但在此之后,我不知道该设置哪个环境变量。就像在Ubuntu中一样,在使用这个程序之前,你必须这样做

代码语言:javascript
复制
apt-get install xvfb
export DISPLAY = :1

在FreeBSD中,要设置什么环境变量?我读了USES = DISPLAY,但我不能理解,因为关于它的信息不多。正因为如此,Firefox启动和关闭

代码语言:javascript
复制
from pyvirtualdisplay import Display
from selenium import webdriver

try:
        display = Display(visible=0, size=(800,600))
        display.start()
except:
        print "no virtual display found"


driver = webdriver.Firefox()

driver.get('www.google.com')

driver.close()
EN

回答 1

Stack Overflow用户

发布于 2016-01-05 23:00:01

安装X虚拟帧

代码语言:javascript
复制
 sudo pkg install xorg-vfbserver
 sudo pkg install xkeyboard-config
 sudo pkg install xkbcomp
 sudo pkg instal x11-fonts/xorg-fonts

Firefox安装和机器id生成

代码语言:javascript
复制
sudo pkg install firefox
dbus-uuidgen > machine-id
sudo mv machine-id /etc/

依赖于下面的shell是为了bash。最好将其放在.bashrc或.cshrc文件中,以便在启动新终端时设置环境变量DISPLAY

代码语言:javascript
复制
export DISPLAY=:1

在tcsh的情况下。有时,tcsh是FreeBSD中的缺省外壳

代码语言:javascript
复制
setenv DISPLAY :1

启动Xvfb并在后台发送

代码语言:javascript
复制
nohup Xvfb :1 -screen 0 800x600x16 &

现在你甚至不需要在python中使用pyvirtualdisplay了。只需使用webdriver即可。

代码语言:javascript
复制
from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://www.google.com')
driver.close()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34378764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档