我的测试可以使用正常运行PyVirtualDisplay==0.2.1,但该软件包的最新版本(例如PyVirtualDisplay==0.2.5)存在问题。
PyVirtualDisplay==0.2.1
PyVirtualDisplay==0.2.5
我的代码段:
... def _set_up(self): # Creation of instance of the browser. self.display = Display(visible=0, size=(config.WIDTH, config.HEIGHT)) self.display.start() desired = self.get_desired_capabilities(config.BROWSER) self.driver = webdriver.Remote(command_executor=config.ACTIVE_NODE, desired_capabilities=desired) # Maximize window size. self.driver.set_window_size(config.WIDTH, config.HEIGHT) ...
错误信息:
错误回溯(最近一次调用最近):文件“ /usr/local/Cellar/python/3.7.6/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py”,第59行,在testPartExecutor中生成文件“ /usr/local/Cellar/python/3.7.6/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py”,行624,运行self.setUp( )在setUp self._set_up()文件中,文件“ /Users/ratmirasanov/Documents/testing/welcome_widget/test_welcome_widget.py”,第24行,文件在“ / setsup”中的文件“ /Users/ratmirasanov/Documents/testing/utilities.py”,行41 self.display.start()文件“ /Users/ratmirasanov/Documents/testing/venv/lib/python3.7/site- packages/pyvirtualdisplay/abstractdisplay.py”,行171,在开始时引发XStartTimeoutError(msg%d)pyvirtualdisplay .abstractdisplay。XStartTimeoutError:无法在显示“:1001”上启动X(xdpyinfo检查失败)。
我没有找到任何可行的解决方案来解决此问题。任何帮助将不胜感激。谢谢。
UPD:该PyVirtualDisplay==0.2.5软件包在Ubuntu 18.04.3 LTS上按预期工作。
该xdpyindo程序位于何处:/usr/bin/xdpyinfo。
xdpyindo
/usr/bin/xdpyinfo
问题出在安装了XQuartz(https://www.xquartz.org/index.html)的Mac(macOS Catalina 10.15.2)上(xdpyindo程序位于/opt/X11/bin/xdpyinfo文件夹中)。
/opt/X11/bin/xdpyinfo
作为解决方法,可以在Mac上删除“ xdpyinfo”程序。
这是在GitHub上项目存储库中已创建问题的内部讨论:https : //github.com/ponty/PyVirtualDisplay/issues/42
UPD:实际上,这是一个许可问题。可以在执行以下操作(不删除“ xdpyinfo”程序)之后进行修复:
mkdir /tmp/.X11-unix sudo chmod 1777 /tmp/.X11-unix sudo chown root /tmp/.X11-unix/
希望它能帮助某人。