首页 > 后端开发 > Python教程 > 如何在无头服务器上运行 Selenium 测试而不会遇到'错误:无法打开显示::0”?

如何在无头服务器上运行 Selenium 测试而不会遇到'错误:无法打开显示::0”?

Patricia Arquette
发布: 2024-11-19 02:01:02
原创
695 人浏览过

How to Run Selenium Tests on Headless Servers without Encountering

在 Xvfb 中运行 Selenium:排查无头服务器上的显示错误

问题:

在 Amazon 上运行 Selenium 测试时没有图形用户界面 (GUI) 的 EC2 实例,用户可能会遇到错误:

Error: cannot open display: :0
登录后复制

尽管安装了 Selenium、Firefox 和 Xvfb 等必要的软件包。

解决方案:

要在没有可见显示器的情况下运行 Selenium,PyVirtualDisplay 或 Xvfbwrapper 提供无头解决方案。

PyVirtualDisplay

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()
登录后复制

Xvfbwrapper

from xvfbwrapper import Xvfb

vdisplay = Xvfb()
vdisplay.start()

# launch stuff inside virtual display here

vdisplay.stop()
登录后复制

或者,为了更清晰的上下文管理,请使用 Xvfbwrapper,如下所示:

from xvfbwrapper import Xvfb

with Xvfb() as xvfb:
    # launch stuff inside virtual display here.
    # It starts/stops in this code block.
登录后复制

通过使用这些无头解决方案,Selenium 测试可以在没有 GUI 功能的服务器上成功运行,从而使无头环境中的自动化和测试。

以上是如何在无头服务器上运行 Selenium 测试而不会遇到'错误:无法打开显示::0”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板