为什么firefox无法在redhat 5.6的selenium 2 webdriver下启动
我想知道如果有人有任何想法,我怎么能找出为什么我可以看到通过硒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位库。 我使用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我发现硒试图使用一个32位的lib:
Failed to dlopen /usr/lib/libX11.so.6
dlerror says: /usr/lib/libX11.so.6: wrong ELF class: ELFCLASS32
这个消息不断发生,并且Firefox会挂起一个空白的对话框。 我googled这个问题,并发现一些人抱怨,但没有解决方案工作(我试图将64位lib软件链接到32位lib目录后,移动32位库,但这导致geko崩溃,我试图发送连续错误到/ dev / null但这没有解决)。
如果您指的是Selenium http://code.google.com/p/selenium/issues/detail?id=2852中报告的此问题
在64位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
这对我的箱子有效。
链接地址: http://www.djcxy.com/p/10757.html上一篇: why firefox won't start up under selenium 2 webdriver on redhat 5.6