如何用 PhantomJS 替换 Chrome 以与 Selenium 和 Conductor 一起使用?

How to replace Chrome with PhantomJS for use with Selenium and Conductor?

我成功地使用了 Conductor 框架从网站上抓取数据。我使用 Chrome 浏览器,因此我在项目的根目录中安装了 chromedriver.exe。

为了加快速度,我想用无头 PhantomJS 浏览器替换 Chrome。我按照这个 Whosebug 问题的答案中的解释安装了 PhantomJS: 并在@Config 中将浏览器更改为 Browser.PHANTOMJS。

然而无论我做什么,我都得不到结果。

我没有找到有关如何设置 PhantomJS 以与 Selenium 或 PhantomJS 一起使用的文档。

问题How to Implement Selenium WebDriver with PhantomJS and Can we Use Sikuli with PhantomJS?也没有帮助。

如何用 PhantomJS 替换 Chrome 以与 Selenium 和 Conductor 一起使用?

您遇到的问题似乎是由于 Conductor 中包含的 PhantomJS 库版本较旧所致。 运行 PhantomJS 时的错误可以在 PhantomJS 的 this imported issue on the Selenium Github. The remedy is to import a fork 中找到,它与较新版本的 Selenium 一起使用。

您可以通过编辑 pom.xml 文件并交换

轻松实现这一点
<groupId>com.github.detro</groupId>
<artifactId>phantomjsdriver</artifactId>
<version>${phantomjs_version}</version>

<groupId>com.codeborne</groupId>
<artifactId>phantomjsdriver</artifactId>
<version>1.2.1</version>

您可以使用带有 selenium 的无头 chrome 驱动程序,如下所示:

https://duo.com/decipher/driving-headless-chrome-with-python