在fedora上安装python selenium绑定时出错

时间:2012-06-22 08:48:50

标签: python firefox selenium webdriver

我试图通过查看here

来安装python-selenium绑定

当我尝试导入以下命令时,它显示错误

from selenium.firefox.webdriver import WebDriver

结果:

from selenium.firefox.webdriver import WebDriver
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named firefox.webdriver

我搜索了很多来解决这个问题,但我没有得到正确的例子来做这个,有人可以请我提供一个方法和一个例子来说明如何安装python selenium绑定以及为什么返回上面的错误。< / p>

提前致谢..........

已编辑: 我根据下面的答案编辑我的代码,并尝试了以下,我得到了以下

>>> from selenium import webdriver
>>> driver = webdriver.Firefox()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 51, in __init__
    self.binary, timeout),
  File "/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
    self.binary.launch_browser(self.profile)
  File "/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 44, in launch_browser
    self._wait_until_connectable()
  File "/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 81, in _wait_until_connectable
    self._get_firefox_output())
selenium.common.exceptions.WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: *** LOG addons.xpi: startup\n*** LOG addons.xpi: checkForChanges\n*** LOG addons.xpi: Opening database\n*** LOG addons.xpi: No changes found\nFailed to dlopen /usr/lib/libX11.so.6\ndlerror says: /usr/lib/libX11.so.6: wrong ELF class: ELFCLASS32\n' 

还说有some crash in firefox 1.0....

2 个答案:

答案 0 :(得分:1)

如该页面所述,他们已重新组织该套餐。使用我在这里发布的第二个代码清单。

  

在写作时使用trunk的一个优点是包的重组。以前,要初始化您必须执行的浏览器,

from selenium.firefox.webdriver import WebDriver
driver = WebDriver()
  

这已经改变了,所以现在所需要的只是:

from selenium import webdriver
driver = webdriver.Firefox()

编辑(新错误):

您是从没有X显示的Linux服务器运行的吗? Firefox需要一个显示来呈现自己。看看PyVirtualDisplay运行“无头”(没有X)。

答案 1 :(得分:1)

我在Fedora 17 64位上遇到同样的问题。 selenium - 加载x_ignore_nofocus.so的问题 问题

Selenium无法启动Firefox并出现以下错误:

'在我们连接之前,浏览器似乎已退出。 输出结果为:无法dlopen /usr/lib/libX11.so.6\ndlerror 说:/usr/lib/libX11.so.6:错误的ELF类:ELFCLASS32 \ n'

这是因为x_ignore_nofocus库试图加载32位版本的libX11而不是64位。在我的系统中有以下版本的libX11:

find / | grep libX11.so.6 | xargs file

/usr/lib64/libX11.so.6:libX11.so.6.3.0的符号链接 /usr/lib64/libX11.so.6.3.0:ELF 64位LSB共享对象,x86-64,版本1(SYSV),动态链接,剥离 /usr/lib/libX11.so.6:到`libX11.so.6.3.0'的符号链接 /usr/lib/libX11.so.6.3.0:ELF 32位LSB共享对象,Intel 80386,版本1(SYSV),动态链接,剥离

解 更改符号链接/usr/lib/libX11.so.6以指向64位版本/usr/lib64/libX11.so.6.3.0:

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

之后,硒开始起作用。 Source