Browser Tanpa Kepala dan pengikisan - solusi [ditutup]

368

Saya mencoba memasukkan daftar kemungkinan solusi untuk setelan pengujian otomatis peramban dan platform peramban tanpa kepala yang dapat dikorek.


PENGUJIAN BROWSER / SCRAPING:

  • Selenium - andalan polyglot dalam otomatisasi browser, binding untuk Python, Ruby, JavaScript, C #, Haskell dan banyak lagi, IDE untuk Firefox (sebagai ekstensi) untuk penyebaran pengujian yang lebih cepat. Dapat bertindak sebagai Server dan memiliki banyak fitur.

JAVASCRIPT

  • PhantomJS - JavaScript , pengujian tanpa kepala dengan tangkapan layar dan otomatisasi, menggunakan Webkit . Pada versi 1.8 WebDriver API Selenium diimplementasikan, sehingga Anda dapat menggunakan ikatan WebDriver apa pun dan tes akan kompatibel dengan Selenium
  • SlimerJS - mirip dengan PhantomJS, menggunakan Gecko (Firefox), bukan WebKit
  • CasperJS - JavaScript , dibangun di atas PhantomJS dan SlimerJS, memiliki fitur tambahan
  • Ghost Driver - implementasi JavaScript dari WebDriver Wire Protocol untuk PhantomJS .
  • PhantomCSS baru - pengujian regresi CSS. Sebuah CasperJS modul untuk mengotomatisasi pengujian regresi visual yang dengan PhantomJS dan Resemble.js .
  • WebdriverCSS baru - plugin untuk Webdriver.io untuk mengotomatisasi pengujian regresi visual
  • PhantomFlow baru - Menjelaskan dan memvisualisasikan aliran pengguna melalui tes. Pendekatan eksperimental untuk pengujian antarmuka pengguna Web.
  • trifleJS baru - mem -port API PhantomJS untuk menggunakan mesin Internet Explorer.
  • baru CasperJS IDE (komersial)

NODE.JS

  • Node-phantom - menjembatani kesenjangan antara PhantomJS dan node.js
  • WebDriverJs - Selenium WebDriver mengikat untuk node.js oleh Tim Selenium
  • WD.js - modul simpul untuk WebDriver / Selenium 2
  • yiewd - WD.js wrapper menggunakan Harmony generator terbaru! Singkirkan piramida panggilan balik dengan hasil
  • ZombieJs - Menggunakan pengujian tumpukan penuh tanpa kepala yang cepat dan tanpa kepala node.js
  • NightwatchJs - Solusi pengujian berbasis Node JS menggunakan Selenium Webdriver
  • Chimera - Chimera: dapat melakukan semua yang dilakukan phantomJS, tetapi dalam lingkungan JS penuh
  • Dalek.js - lintas browser otomatis dengan JavaScript melalui Selenium Webdriver
  • Webdriver.io - implementasi yang lebih baik dari binding WebDriver dengan 50+ tindakan yang telah ditentukan
  • Nightmare - Jembatan elektron dengan API tingkat tinggi.
  • jsdom - Disesuaikan dengan pengikisan web. DOM yang sangat ringan diimplementasikan di Node.js, mendukung halaman dengan javascript.
  • Puppeteer baru - Node library yang menyediakan API tingkat tinggi untuk mengontrol Chrome atau Chromium. Dalang berjalan tanpa kepala secara default.

PEMROGRAMAN / PENAMBANGAN WEB

  • Scrapy - Python , terutama scraper / miner - cepat, terdokumentasi dengan baik dan, dapat dihubungkan dengan Django Dynamic Scraper untuk penyebaran pertambangan yang bagus, atau Scrapy Cloud untuk penyebaran PaaS (tanpa server), bekerja di terminal atau prose server yang berdiri sendiri , dapat digunakan dengan Seledri , dibangun di atas Twisted
  • Snailer - node.js , belum teruji.
  • Node-Crawler - modul node.js , belum teruji.

ALAT ONLINE


LINK & SUMBER DAYA TERKAIT

Pertanyaan:

  • Adakah solusi Node.js murni atau modul Nodejs untuk PhanthomJS / CasperJS yang benar-benar berfungsi dan didokumentasikan?

Jawaban: Chimera tampaknya pergi ke arah itu, checkout Chimera

  • Solusi lain yang mampu injeksi JavaScript lebih mudah daripada Selenium?

  • Apakah Anda tahu ada solusi ruby murni ?

Jawab: Periksa daftar yang dibuat oleh rjk dengan solusi berbasis ruby

  • Apakah Anda tahu ada teknologi atau solusi terkait?

Jangan ragu untuk mengedit pertanyaan ini dan menambahkan konten sesuai keinginan! Terima kasih atas kontribusi kamu!

dioperasi
sumber
1
tidak tahu apakah itu yang Anda inginkan, tetapi saya suka modul itu untuk merayapi halaman web, memeriksa dom dan sebagainya: npmjs.org/package/crawler . ia menggunakan jsdom, dan Anda dapat jQuery sebagai mesin pemilih. yang ini (yang menggunakan perayap) juga terlihat menarik: npmjs.org/package/snailer
hereandnow78
Saya sudah banyak sukses dengan modul node-phantom. Ini cukup lurus ke depan dan didokumentasikan dengan cukup baik. Itu mendukung injeksi javascript.
Josh C.
1
Saya yakin Anda sadar bahwa GhostDriver adalah implementasi Selenium-Webdriver yang menggunakan phantomJS
Robbie Wareham
2
Anda mungkin juga menemukan ini bermanfaat: blog.screen-scraper.com/2010/06/28/...
todd
1
Untuk memo visual dan perbandingan: PhantomCSS dan PhantomFlow
FelipeAls

Jawaban:

35

Jika Ruby adalah milik Anda, Anda juga dapat mencoba:

juga, permata Nokogiri dapat digunakan untuk mengikis:

ada buku khusus tentang cara memanfaatkan nokogiri untuk memo dengan penerbitan terbitan

rkj
sumber
watir seribu kali lebih mudah daripada perpustakaan di atas.
Pavan Katepalli
Untuk pustaka "webbot" python menawarkan fitur yang kaya untuk otomatisasi web yang mudah.
Natesh bhat
11

http://triflejs.org/ seperti phantomjs tetapi didasarkan pada IE

Federico Galassi
sumber
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah.
Sathish
5
Kedengarannya bagus biasanya, namun pertanyaan ini sendiri merupakan kumpulan sumber daya. Tautan dengan deskripsi singkat untuk dimasukkan dalam daftar sesuai dengan format dan masuk akal.
Federico Galassi
7

Jenis Selenium berbasis JS adalah Dalek.js . Ini tidak hanya bertujuan untuk tes frontend otomatis, Anda juga dapat melakukan tangkapan layar dengannya. Ini memiliki webdrivers untuk semua browser penting. Sayangnya webdrivers tersebut tampaknya layak untuk ditingkatkan (hanya saja tidak mengatakan "buggy" ke Firefox).

Jens Grochtdreis
sumber