如何解决'程序安装错误'在Mac上与Xvfb和selenium有关?

时间:2018-02-02 07:01:53

标签: python macos selenium xvfb

我正在尝试使用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一起使用...

1 个答案:

答案 0 :(得分:1)

Xvfb几乎肯定不是你想要的。

macOS桌面界面不基于X11。 Xvfb实现了虚拟X11显示;它只能用于运行X11应用程序 - 默认情况下,这些应用程序都不会安装在macOS上。

macOS不支持无头操作。如果您想在macOS上运行Selenium测试,您可能需要在桌面上运行它们。