Selenium chrome 无头并行实例 python 的最佳方式
Selenium best way to chrome headless parallel instances python
我对 python 和 selenium 感到很困惑。我已经在 mac 上设置了 chrome 和带有 selenium 的 Phantomjs,并且工作正常。
但是,我只能 运行 phantomjs 作为无头的,而且必须对代码进行两次编码(对于 phantom 和 chrome)真的很令人沮丧,这样我才能看到发生了什么。特别是,因为它们的工作方式完全不同。
据我了解有以下两点:
Docker 硒 - https://github.com/elgalu/docker-selenium
这允许无头 firefox 和 chrome,使用 VNC 查看发生了什么。
Selenium 网格扩展 - https://github.com/zalando/zalenium
这允许并行执行。但是,我想知道我真的需要这个吗,因为我已经在单元测试中编写了并行执行例程?
根据之前的研究,我的理解是硒网格并不真正适用于 Python(它基于 java)
如果有人能直接告诉我该用什么,那就太好了。
我正在考虑只使用 chrome headless,希望我仍然能够在 unittest
中进行并行执行
你混合了一堆东西,让我们澄清一下:
- PhantomJS 是一个无头浏览器,它使用 WebKit 渲染引擎(不完全像 Chrome)并且它不能 运行 和 UI.
- 您无需编写两次代码,您可以从配置文件中获取浏览器名称并使用界面
webdriver
创建您想要的任何浏览器。
- 如果你想 运行 特别地 Chrome 无头,试试 this,尽管据我所知,它处于测试阶段并且仅在 Linux 上。
- 运行 并行可以通过多种方式实现(docker、网格、测试框架等)。根据您的情况,您应该选择适合您的。在你的情况下,我认为 docker 和网格是开销,你应该继续使用 unittest: 1。 Docker 确实让你 运行 Chrome 有一个虚拟显示(有点无头),但它的特点是快速缩放,我认为你不需要。 2。 Selenium Grid 主要用于浏览器,OS 矩阵。 没关系它是基于Java的,因为它是一个独立的服务器,您可以使用
remotewebdriver
以任何语言连接.
所以我希望是
set you straight
;)
我对 python 和 selenium 感到很困惑。我已经在 mac 上设置了 chrome 和带有 selenium 的 Phantomjs,并且工作正常。
但是,我只能 运行 phantomjs 作为无头的,而且必须对代码进行两次编码(对于 phantom 和 chrome)真的很令人沮丧,这样我才能看到发生了什么。特别是,因为它们的工作方式完全不同。
据我了解有以下两点:
Docker 硒 - https://github.com/elgalu/docker-selenium
这允许无头 firefox 和 chrome,使用 VNC 查看发生了什么。
Selenium 网格扩展 - https://github.com/zalando/zalenium
这允许并行执行。但是,我想知道我真的需要这个吗,因为我已经在单元测试中编写了并行执行例程?
根据之前的研究,我的理解是硒网格并不真正适用于 Python(它基于 java)
如果有人能直接告诉我该用什么,那就太好了。
我正在考虑只使用 chrome headless,希望我仍然能够在 unittest
中进行并行执行你混合了一堆东西,让我们澄清一下:
- PhantomJS 是一个无头浏览器,它使用 WebKit 渲染引擎(不完全像 Chrome)并且它不能 运行 和 UI.
- 您无需编写两次代码,您可以从配置文件中获取浏览器名称并使用界面
webdriver
创建您想要的任何浏览器。 - 如果你想 运行 特别地 Chrome 无头,试试 this,尽管据我所知,它处于测试阶段并且仅在 Linux 上。
- 运行 并行可以通过多种方式实现(docker、网格、测试框架等)。根据您的情况,您应该选择适合您的。在你的情况下,我认为 docker 和网格是开销,你应该继续使用 unittest: 1。 Docker 确实让你 运行 Chrome 有一个虚拟显示(有点无头),但它的特点是快速缩放,我认为你不需要。 2。 Selenium Grid 主要用于浏览器,OS 矩阵。 没关系它是基于Java的,因为它是一个独立的服务器,您可以使用
remotewebdriver
以任何语言连接.
所以我希望是
set you straight
;)