【问题标题】:Cannot create browser process when using selenium from python on RHEL5在 RHEL5 上使用 python 中的 selenium 时无法创建浏览器进程
【发布时间】: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


【解决方案1】:

看起来我遇到的问题是这个硒错误: http://code.google.com/p/selenium/issues/detail?id=2852

我使用了评论 #9 http://code.google.com/p/selenium/issues/detail?id=2852#c9 中描述的修复方法

这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多