【问题标题】:Python invoking 32 bit X11 lib files instead of 64 bit while using Selenium Web driverPython 在使用 Selenium Web 驱动程序时调用 32 位 X11 lib 文件而不是 64 位
【发布时间】:2025-12-03 17:45:02
【问题描述】:

我已经在 CentOS 5.5 x86_64 机器上安装了 python 2.7。

$ file /opt/python2.7.1/bin/python

/opt/python2.7.1/bin/python: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

然后我使用 selenium Web 驱动程序运行基本登录脚本,但它失败并出现以下错误。

selenium.common.exceptions.WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Failed to dlopen /usr/lib/libX11.so.6\ndlerror says: /usr/lib/libX11.so.6: wrong ELF class: ELFCLASS32\n'

为什么它使用 32 位 X11 库而不是 64 位 X11 库?如何让 python 使用 64 位库?

【问题讨论】:

  • 标志被移除,请参考FAQ

标签: python selenium 64-bit webdriver


【解决方案1】:

我在 Scientific Linux 6 上遇到了同样的错误,并尝试按照此处所述更改库: http://code.google.com/p/selenium/issues/detail?id=2852

Firefox 64bit + x_ignore_nofocus 失败,因为: 如我们所见,在 64 位模式下,库 x_ignore_nofocus 正在寻找“/usr/lib/libX11.so.6”途中的libX11.so.6 但是这个符号链接 /usr/lib/libX11.so.6 是参考 /usr/lib/libX11.so.6.2.0,32位库。

更改链接对我不起作用,但我没有尝试修补 selenium。希望这将在下一个版本中得到解决。

【讨论】:

  • 我也有同样的问题..你找到解决办法了吗?
  • ok 我通过改变路径解决了这个问题: sudo rm /usr/lib/libX11.so.6 sudo ln -s /usr/lib64/libX11.so.6.2.0 /usr/lib /libX11.so.6 所以使用 firefox64bit 效果很好
  • 据我记得我也试过这个,但后来 X11 拒绝启动。
【解决方案2】:

我可能遇到了同样的问题,虽然很丑,但我已经解决了:

我的错误:

文件“/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py”,第 81 行,在 _wait_until_connectable self._get_firefox_output()) selenium.common.exceptions.WebDriverException:消息:'浏览器似乎在我们连接之前已经退出。输出为:Xlib: extension "RANDR" missing on display ":1023.0".\nFailed to dlopen /usr/lib/libX11.so.6\ndlerror says: /usr/lib/libX11.so.6: wrong ELF class : ELFCLASS32\n'

我的环境:
Fedora 14 X64
火狐:3.6.24 X64
Selenium 2.20.0 (webdriver)

我的丑陋但简单且有效的修复:
我确实复制了文件:
/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/x86/x_ignore_nofocus.so
进入:
/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/amd64/
(请注意,您可能需要备份原始文件,以防它不适合您)

【讨论】:

    最近更新 更多