我正在尝试使用Mac(MacOS 10.13.3)在无头环境中运行硒测试。我基本上做了以下几点:
from pyvirtualdisplay impot Display
display = Display(visible=0, size=(13660, 7680))
display.start()
在调用selenium webdriver(selenum 3.8.0)之前。但是,我收到以下错误:
self = <EasyProcess cmd_param=['Xvfb', '-help'] cmd=['Xvfb', '-help'] oserror=[Errno ... directory return_code=None stdout="None" stderr="None" timeout_happened=False>
def check_installed(self):
"""Used for testing if program is installed.
Run command with arguments. Wait for command to complete.
If OSError raised, then raise :class:`EasyProcessCheckInstalledError`
with information about program installation
:param return_code: int, expected return code
:rtype: self
"""
try:
self.call()
except Exception:
> raise EasyProcessCheckInstalledError(self)
E EasyProcessCheckInstalledError: cmd=['Xvfb', '-help']
E OSError=[Errno 2] No such file or directory
E Program install error!
venv_pytest/lib/python2.7/site-packages/easyprocess/__init__.py:180: EasyProcessCheckInstalledError
因为它看起来像xvfb
的问题我尝试安装它:
>pip install xvfb
Collecting xvfb
Could not find a version that satisfies the requirement xvfb (from versions: )
No matching distribution found for xvfb
我也尝试了以下内容:
>brew install xvfb
Error: No available formula with the name "xvfb"
我还能尝试什么?
附录:我不是在寻找别的东西。我希望在Mac上进行上述工作以开发测试。测试将在一个理智的Linux环境中运行(当然不是Mac !!),这完全可以与xvfb
一起使用...
答案 0 :(得分:1)
Xvfb几乎肯定不是你想要的。
macOS桌面界面不基于X11。 Xvfb实现了虚拟X11显示;它只能用于运行X11应用程序 - 默认情况下,这些应用程序都不会安装在macOS上。
macOS不支持无头操作。如果您想在macOS上运行Selenium测试,您可能需要在桌面上运行它们。