为什么firefox不会在redhat 5.6上的selenium 2 webdriver下启动

时间:2012-05-21 10:49:03

标签: firefox selenium webdriver redhat

我想知道是否有人对如何找到我的原因有任何想法 似乎可以通过selenium webdriver运行firefox。什么 发生在我跑的时候:

self.driver=webdriver.Firefox()

我的桌面上有一个空白对话框。我正在使用Redhat 5.6和 我的硒版本是2.21.3。我尽可能地调试了代码 并从我可以确定代码冻结后提出 firefox_binary模块中以下代码的空白对话框:

Popen([self._start_cmd, "-slient"], stdout=PIPE, stderr=STDOUT, env=self._filefox_env).wait()

我打开了cmd提示符并手动运行上述命令 并没有出现这样的空白对话框。这会让我觉得它 不是firefox错误。我无法找到错误的位置 出现。有任何想法吗?

更新

我安装了centos 6并安装了firefox 10.0.6,selenium webdriver与该版本配合使用

更新

除了使用centos 6我还需要在redhat上解决这个问题,所以这里有更多细节和我发现的内容。因为需要解决,我会对此表示赏心悦目:

我在这上面挖了一点,发现问题在于使用32位lib的selenium。 我使用Firefox ESR 10.0.6(64位)在Redhat Enterprise Linux Server 5.6(x86_64)上安装了selenium 2.25.0版。 我更改了firefoxBinary类中的_start_from_profile_path方法,以查看问题所在:

p=open("/tmp/ffoutput.txt", "w+")
Popen([self._start_cmd, "-silent"], stdout=p, stderr=STDOUT, env=self._firefox_env).communicate()

我尾随/tmp/ffoutput.txt 我发现selenium试图使用32位lib:

Failed to dlopen /usr/lib/libX11.so.6
dlerror says: /usr/lib/libX11.so.6: wrong ELF class: ELFCLASS32

此消息不断发生,firefox挂起,显示空白对话框。我搜索了这个问题并发现有些人抱怨但没有解决方案有效(我尝试将64位lib软件链接到32位lib目录后移动32位lib但这导致geko崩溃,我尝试将连续错误发送到/ dev / null但这没有解决任何问题)。

1 个答案:

答案 0 :(得分:3)

如果您指的是Selenium中报告的此问题 http://code.google.com/p/selenium/issues/detail?id=2852

64Bit linux发行版的解决方法是发出以下命令:

sudo mv /usr/lib/libX11.so.6 /usr/lib/libX11.so.6.old
sudo ln -s /usr/lib64/libX11.so.6.3.0 /usr/lib/libX11.so.6

这对我来说很有用。