ama*_*ain 7 firefox selenium redhat webdriver
我想知道是否有人有任何想法,我怎么能找到为什么我似乎让firefox运行通过selenium webdriver.当我跑步时会发生什么:
self.driver=webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)
我的桌面上有一个空白的对话框.我在Redhat 5.6上运行,我的selenium版本是2.21.3.我尽可能地调试代码,并在firefox_binary模块中的以下代码上显示空白对话框后,我可以确定代码冻结:
Popen([self._start_cmd, "-slient"], stdout=PIPE, stderr=STDOUT, env=self._filefox_env).wait()
Run Code Online (Sandbox Code Playgroud)
我打开了一个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()
Run Code Online (Sandbox Code Playgroud)
我发现/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
Run Code Online (Sandbox Code Playgroud)
此消息不断发生,firefox挂起,显示空白对话框.我搜索了这个问题并发现有些人抱怨但没有解决方案有效(我尝试将64位lib软件链接到32位lib目录后移动32位lib但这导致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
Run Code Online (Sandbox Code Playgroud)
这对我的盒子很有用。
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |