Is it possible to use Selenium WebDriver to drive

2019-03-08 18:47发布

问题:

I’m going through the documentation for the Selenium WebDriver, and it can drive Chrome for example. I was thinking, wouldn't it be far more efficient to ‘drive’ PhantomJS?

Is there a way to use Selenium with PhantomJS?

My intended use would be web scraping: The sites I scrape are loaded with AJAX and lots of lovely JavaScript, and I’m thinking this setup could be a good replacement for the Scrapy Python framework that I’m currently working with.

回答1:

PhantomJS now includes the GhostDriver project.

You are also suggested to use PhantomJS directly or with a convenience library such as CasperJS. CasperJS is specifically designed to make it easy to do sequential operations to web pages, perfect for many automation tasks.

Disclaimer: I am the author of PhantomJS.

Edit: As noted in Nick's answer, GhostDriver is now included in PhantomJS.



回答2:

@Joseph, since the 1.8 release GhostDriver is included in the stable release of PhantomJS. Here is the exact release notes: http://phantomjs.org/release-1.8.html. You can simply start PhantomJS process to listen on some port, like this:

phantomjs --webdriver=PORT

Kudos to @detro and PhantomJS team for awesome work!