Вопрос по webdriver, phantomjs, selenium, web-scraping – Можно ли использовать Selenium WebDriver для управления PhantomJS?

35

Я просматриваю документацию для Selenium WebDriver, и он может работать, например, с Chrome. Я подумал, не будет ли это гораздо более эффективным, чем & # x2018; управлять автомобилем & # x2019; PhantomJS?

Есть ли способ использовать Selenium с PhantomJS?

Мое предполагаемое использование - это очистка веб-страниц: сайты, которые я обрабатываю, загружены AJAX и множеством прекрасных JavaScript, и я думаю, что эта установка могла бы стать хорошей заменой для среды Scrapy Python, с которой я сейчас работаю ,

Я заметил, что есть внутренний классPhantomJSDriver : RemoteWebDriver, ITakesScreenshot но вы не можете создать экземпляр этого (пока) Mark Broadhurst

Ваш Ответ

2   ответа
21

@Joseph, начиная с версии 1.. Вот точные примечания к выпуску:http://phantomjs.org/release-1.8.html. You can simply start PhantomJS process to listen on some port, like this:

phantomjs --webdriver=PORT

Благодарность @detro и команде PhantomJS за отличную работу!

56

Проект GhostDriver.

Вам также предлагается использовать PhantomJS напрямую или с удобной библиотекой, такой какCasperJS, CasperJS специально разработан, чтобы упростить выполнение последовательных операций с веб-страницами, идеально подходит для многих задач автоматизации.

Отказ от ответственности: я автор PhantomJS.

EditКак отмечено в ответе Ника, GhostDriver теперь включен в PhantomJS.

@Hippyjimgithub.com/ariya/phantomjs/wiki
Вы можете черпать вдохновение из множества пользовательских статей PhantomJS (см. Вики).
@ Джозеф: в отношении «одноразового использования»; проблема, я также столкнулся с этим и создал PhearJS для этого (github.com/Tomtomgo/phearjs). Он оборачивает пул экземпляров PhantomJS и предоставляет вам API для него.
Вики пуста. Любые подсказки, где я могу получить помощь по созданию этой работы с PHP?
Ух ты, Ария ответила, я читала кое-что из твоего материала на днях, я действительно восхищаюсь твоей работой. В любом случае, это здорово, если вы не возражаете, как лучше всего включить PhantomJS / CasperJS в приложение. Я думал об использовании Selenium, потому что я хочу, чтобы вся программа работала постоянно и непрерывно (в режиме реального времени и слегка интерактивно). Когда я изучал документацию Phantom, у меня сложилось впечатление, что это инструмент командной строки для однократного использования и его вызова. из Python позволит мне превратить его в полную программу. Какие-нибудь советы? Joseph

Похожие вопросы