亚马逊EC2实例上的pyvirtualdisplay



我正在尝试在AmazonEC2上运行selenium。我使用pyvirtualdisplay作为xvfb包装器。我在python中运行了以下命令。

from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(1024, 768))
display.start()

到目前为止一切都很好
但当我这样做时:

driver = webdriver.Firefox()

我得到这个错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-   packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
self.binary, timeout),
File "/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in  __init__
self.binary.launch_browser(self.profile)
File "/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 66, in launch_browser
self._wait_until_connectable()
File "/usr/lib/python2.6/site- packages/selenium/webdriver/firefox/firefox_binary.py", line 100, in _wait_until_connectable
raise WebDriverException("The browser appears to have exited "
selenium.common.exceptions.WebDriverException: Message: The browser   appears to have exited before we could connect. If you specified a    log_file in the FirefoxBinary constructor, check it for details.

在互联网上花了很多小时寻找解决方案并尝试了所有可能的方法后,有一件事对我很有效
https://superuser.com/questions/870702/aws-ec2-linux-headless-firefox-issue-xvfb-undefined-symbol-pixman-glyph-cache

正如答案所说:
它正在尝试加载wrw pixman so。删除/usr/local/lib/libpixman-1.so.0并重试,它将使Xvfb使用具有此符号的分发pixman库。

相关内容

  • 没有找到相关文章

最新更新