Selenium是chrome无头并行实例python的最佳方式
我对python和selenium感到非常困惑。我已经在mac上安装了带有selenium的chrome和Phantomjs,并且运行正常 然而,我只能将phantomjs作为headless运行,而且必须编写两次代码(对于phantomjs和chrome),这样我才能看到正在发生的事情,这真的令人沮丧。特别是,因为它们的工作方式完全不同 据我所知,有两件事: 多克硒- 这使得无头firefox和chrome可以使用VNC查看正在发生的事情 硒网格扩展- 这允许并行执行。然而,我想知道,既然我已经在unittest中编写了并行执行例程,我真的需要这个吗 根据之前的研究,我的理解是selenium网格并不适用于Python(基于java的) 如果有人能告诉我该用什么,那就太好了Selenium是chrome无头并行实例python的最佳方式,python,selenium,python-unittest,headless-browser,selenium-grid2,Python,Selenium,Python Unittest,Headless Browser,Selenium Grid2,我对python和selenium感到非常困惑。我已经在mac上安装了带有selenium的chrome和Phantomjs,并且运行正常 然而,我只能将phantomjs作为headless运行,而且必须编写两次代码(对于phantomjs和chrome),这样我才能看到正在发生的事情,这真的令人沮丧。特别是,因为它们的工作方式完全不同 据我所知,有两件事: 多克硒- 这使得无头firefox和chrome可以使用VNC查看正在发生的事情 硒网格扩展- 这允许并行执行。然而,我想知道,既然我已
我正在考虑只使用chrome headless,希望我仍然能够在unittest中执行我的并行执行您混合了很多东西,让我们澄清一下:
- PhantomJS是一款无头浏览器,它使用WebKit渲染引擎(与Chrome不完全一样),无法使用UI运行
- 您不需要编写两次代码,您可以从配置文件中获取浏览器名称,并使用界面
创建所需的浏览器webdriver
- 如果你想运行专门的Chrome headless,试试看,尽管它还处于测试阶段,而且只在Linux上运行李>
- 并行运行可以通过多种方式实现(docker、网格、测试框架等)。根据你的情况,你应该选择适合你的。在您的例子中,我认为docker和网格是一种开销,您应该继续使用unittest:1。Docker确实允许您使用虚拟显示器(有点无头)运行Chrome,但它的特点是扩展速度快,我想您不需要2。Selenium Grid主要用于浏览器、操作系统矩阵。基于Java并不重要,因为它是一个独立的服务器,您可以使用任何语言连接到它
)() 我的朋友,真的让我改邪归正了——非常感谢。不确定是否需要两位编码,因为对我来说(当我设置代理和其他一些事情时),与正在使用的驱动程序相关的特定代码是必要的,特别是在进行错误检查时。另外,firefox有一些bug,并没有像它应该的那样引发错误(而chrome却有),所以我必须为此创建一系列解决方法。这对我来说在mo上浪费了很多时间,所以我想我会先尝试docker/grid/chrome headless,如果这不起作用,就去你的chrome suggestion.NP!我不知道如何在python中实现这一点,但您可以在运行时检查正在运行的浏览器,即使在使用界面时也是如此。。在C中,如果(typeof(driver)==typeof(FirefoxDriver)),那么handleSpecificError()就有点像
。这真的很酷,你是一个宝石级的摩梭人。这节省了我很多时间。希望你有一个伟大的一天:)谢谢你的朋友!你也是;)