【发布时间】:2012-10-14 20:23:54
【问题描述】:
我正在尝试使用 python 中的 selenium,但在 RHEL5.5 服务器上运行它时遇到问题。我似乎无法真正启动firefox。
from selenium import webdriver
b = webdriver.Firefox()
在我的带有 ubuntu 的笔记本电脑上,这可以正常工作,它会启动一个 Firefox 窗口。当我使用 ssh 登录服务器时,我可以从命令行运行 firefox 并将其显示在我的笔记本电脑上。它显然是来自服务器的 Firefox,因为它具有 RHEL5.5 主页。
当我在服务器上运行上面的 python 脚本(或在 ipython 中运行)时,脚本挂在 webdriver.Firefox()
我也试过
from selenium import webdriver
fb = webdriver.FirefoxProfile()
fb.native_events_enabled=True
b=webdriver.Firefox(fb)
它也挂在那里的最后一行。
我正在使用安装在 /opt/python2.7 中的 python2.7。在使用 /opt/python2.7/pip-2.7 安装的 selenium 中。
我可以看到服务器上的 Firefox 进程,它正在使用大量 CPU。我还可以从 /proc/#/environ 看到 DISPLAY 设置为 localhost:10.0,这似乎是正确的。
如何在 RHEL5.5 上使用 selenium 启动浏览器?如何找出 Firefox 没有启动的原因?
【问题讨论】:
-
您的环境是如何设置的?服务器是无头的,您正在连接到某个 X 服务器实例以在笔记本电脑上获取 GUI,对吗?当您说您可以从服务器上的终端启动 firefox 并显示在您的笔记本电脑上时,您是从单独的仅终端 ssh 客户端运行它,还是从远程 GUI 会话中运行的终端实例运行它?当您运行 python/selenium 时,它以什么用户身份运行,您确定它已配置为与远程客户端的 GUI 实例一起使用吗?如果您尝试从远程 GUI 中的终端运行它会发生什么?
-
服务器是无头的,我正在使用 ssh -X 连接到它,并且我正在使用带有 X 的笔记本电脑。我正在使用与服务器相同的终端会话从命令启动 Firefox行,它工作并显示在我的笔记本电脑上,以及运行 python 脚本,它不起作用。该脚本以我的用户身份运行。
标签: python firefox selenium rhel rhel5