เบราว์เซอร์ที่ไม่มีหัวและการขูด - โซลูชัน [ปิด]


368

ฉันกำลังพยายามใส่รายการโซลูชันที่เป็นไปได้สำหรับชุดการทดสอบอัตโนมัติของเบราว์เซอร์และแพลตฟอร์มเบราว์เซอร์ที่ไม่มีหัวที่สามารถคัดลอกได้


การทดสอบ / การเรียกดูเบราว์เซอร์:

  • Selenium - ธงหลายภาษาในการทำงานอัตโนมัติของเบราว์เซอร์การเชื่อมโยงสำหรับ Python, Ruby, JavaScript, C #, Haskell และอื่น ๆ , IDE สำหรับ Firefox (เป็นส่วนเสริม) สำหรับการทดสอบที่รวดเร็วขึ้น สามารถทำหน้าที่เป็นเซิร์ฟเวอร์และมีคุณสมบัติมากมาย

JAVASCRIPT

  • PhantomJS - JavaScriptทดสอบหัวขาดกับการจับภาพหน้าจอและระบบอัตโนมัติที่ใช้Webkit เป็นเวอร์ชั่น 1.8 ของ WebDriver API ของ Selenium ถูกนำมาใช้ดังนั้นคุณสามารถใช้การผูก WebDriver ใด ๆ และการทดสอบจะเข้ากันได้กับ Selenium
  • SlimerJS - คล้ายกับ PhantomJS ใช้Gecko (Firefox) แทนWebKit
  • CasperJS - JavaScriptสร้างบนทั้ง PhantomJS และ SlimerJS มีคุณสมบัติพิเศษ
  • ขับรถผี - JavaScriptการดำเนินงานของWebDriver ลวดพิธีสารสำหรับPhantomJS
  • ใหม่ PhantomCSS - การทดสอบการถดถอย CSS โมดูล CasperJS สำหรับการทำงานอัตโนมัติทดสอบการถดถอยภาพกับ PhantomJS และResemble.js
  • ใหม่ WebdriverCSS - ปลั๊กอินสำหรับ Webdriver.ioสำหรับการทดสอบการถดถอยแบบเห็นภาพอัตโนมัติ
  • ใหม่ PhantomFlow - อธิบายและแสดงภาพกระแสผู้ใช้ผ่านการทดสอบ วิธีการทดลองในการทดสอบส่วนต่อประสานกับผู้ใช้ผ่านเว็บ
  • trifleJS ใหม่ - พอร์ต PhantomJS API เพื่อใช้โปรแกรม Internet Explorer
  • ใหม่ CasperJS IDE (เชิงพาณิชย์)

Node.js

  • Node-phantom - เชื่อมช่องว่างระหว่างPhantomJSและnode.js
  • WebDriverJs - Selenium WebDriver การเชื่อมต่อสำหรับ node.js โดยทีม Selenium
  • WD.js - โมดูลโหนดสำหรับ WebDriver / Selenium 2
  • yiewd - WD.js เสื้อคลุมใช้ล่าสุดปั่นไฟสามัคคี! กำจัดปิรามิดโทรกลับด้วยอัตราผลตอบแทน
  • ZombieJs - การทดสอบ full-stack ที่รวดเร็วและไม่มีหัวโดยใช้node.js
  • NightwatchJs - Node JS ใช้วิธีทดสอบโดยใช้ Selenium Webdriver
  • ความฝัน - ความฝัน: สามารถทำทุกสิ่งที่ phantomJS ทำ แต่ในสภาพแวดล้อมแบบเต็ม JS
  • Dalek.js - การทดสอบข้ามเบราว์เซอร์อัตโนมัติด้วย JavaScript ผ่าน Selenium Webdriver
  • Webdriver.io - การนำ WebDriver ไปใช้งานได้ดีขึ้นพร้อมกับแอ็คชั่น 50+ ที่กำหนดไว้ล่วงหน้า
  • Nightmare - สะพานอิเล็กตรอนที่มี API ระดับสูง
  • jsdom - ออกแบบให้เหมาะกับการขูดเว็บ DOM มีน้ำหนักเบามากนำมาใช้ใน Node.js รองรับหน้าเว็บที่มี javascript
  • new Puppeteer - ไลบรารีโหนดซึ่งมี API ระดับสูงเพื่อควบคุม Chrome หรือ Chromium Puppeteer ทำงานโดยไม่มีการกำหนดค่าเริ่มต้น

WEB SCRAPING / MINING

  • Scrapy - Pythonส่วนใหญ่เป็น scraper / miner - รวดเร็วมีเอกสารที่ดีและสามารถเชื่อมโยงกับDjango Dynamic Scraperสำหรับการปรับใช้การขุดที่ดีหรือScrapy Cloudสำหรับ PaaS (เซิร์ฟเวอร์น้อยลง) ใช้งานในเทอร์มินัลหรือโปรเซสเซิร์ฟเวอร์เดี่ยว สามารถใช้กับCeleryซึ่งสร้างจากTwisted
  • Snailer - โมดูลnode.jsยังไม่ได้ทดสอบ
  • Node-Crawler - โมดูลnode.jsยังไม่ได้ทดสอบ

เครื่องมือออนไลน์


ลิงค์และแหล่งข้อมูลที่เกี่ยวข้อง

คำถาม:

  • pure Node.js solution หรือ Nodejs to PhanthomJS / CasperJS module ใดที่ใช้งานได้จริงและได้รับการบันทึกไว้?

คำตอบ: ความฝันดูเหมือนจะไปในทิศทางนั้นเช็คเอาความฝัน

  • โซลูชันอื่นที่สามารถฉีด JavaScript ได้ง่ายกว่าซีลีเนียมหรือไม่

  • คุณรู้วิธีแก้ปัญหาทับทิมบริสุทธิ์หรือไม่?

คำตอบ:ชำระเงินรายการที่สร้างโดย rjk พร้อมโซลูชั่นแบบ ruby

  • คุณรู้จักเทคโนโลยีหรือวิธีแก้ปัญหาที่เกี่ยวข้องหรือไม่?

รู้สึกอิสระที่จะแก้ไขคำถามนี้และเพิ่มเนื้อหาตามที่คุณต้องการ! ขอบคุณสำหรับการสนับสนุนของคุณ!


1
dont know ถ้า thats สิ่งที่คุณต้องการ แต่ผมชอบโมดูลที่สำหรับการรวบรวมข้อมูลหน้าเว็บตรวจสอบ Dom และอื่น ๆ : npmjs.org/package/crawler มันใช้ jsdom และคุณสามารถ jQuery เป็นเครื่องมือเลือก อันนี้ (ซึ่งใช้ซอฟต์แวร์รวบรวมข้อมูล) ดูน่าสนใจเช่นกัน: npmjs.org/package/snailer
hereandnow78

ฉันประสบความสำเร็จอย่างมากกับโมดูลโหนด - แฟนทอม มันค่อนข้างตรงไปตรงมาและมีเอกสารค่อนข้างดี มันรองรับการฉีดจาวาสคริปต์
Josh C.

1
ฉันแน่ใจว่าคุณทราบว่า GhostDriver เป็นการใช้งาน Selenium-Webdriver ที่ใช้ phantomJS
Robbie Wareham

2
นอกจากนี้คุณยังอาจพบนี้มีประโยชน์: blog.screen-scraper.com/2010/06/28/...
ทอดด์

1
สำหรับการขูดและการเปรียบเทียบด้วยภาพ: PhantomCSS และ PhantomFlow
FelipeAls

คำตอบ:


35

หากทับทิมเป็นของคุณคุณอาจลอง:

นอกจากนี้อัญมณี Nokogiri ยังสามารถใช้ในการขูด:

มีหนังสือเฉพาะเกี่ยวกับวิธีการใช้ประโยชน์จาก nokogiri สำหรับการคัดลอกโดยการจัดพิมพ์


watir ง่ายกว่าห้องสมุดนับพันเท่า
Pavan Katepalli

สำหรับไพ ธ อน "webbot" ไลบรารี่นำเสนอฟีเจอร์ที่หลากหลายเพื่อการใช้งานเว็บอัตโนมัติที่ง่าย
Natesh bhat

11

http://triflejs.org/เหมือน phantomjs แต่ใช้ IE


แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าหากรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงก์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงนั้นเปลี่ยนแปลง
Sathish

5
ฟังดูดีตามปกติ แต่คำถามนี้เองก็เป็นแหล่งรวบรวมทรัพยากร ลิงก์ที่มีคำอธิบายสั้น ๆ เพื่อรวมไว้ในรายการนั้นเหมาะกับรูปแบบและเหมาะสม
Federico Galassi

7

ชนิดของ JS-based ซีลีเนียมเป็นDalek.js มันไม่ได้มีจุดมุ่งหมายสำหรับการทดสอบส่วนหน้าอัตโนมัติเท่านั้นคุณยังสามารถทำภาพหน้าจอได้อีกด้วย มันมี webdrivers สำหรับเบราว์เซอร์ที่สำคัญทั้งหมด น่าเสียดายที่ผู้พัฒนาโปรแกรมเว็บเหล่านั้นดูเหมือนจะคุ้มค่าที่จะปรับปรุง (อย่าพูดว่า "buggy" กับ Firefox)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.