คำถามติดแท็ก phantomjs

3
เบราว์เซอร์ที่ไม่มีหัวและการขูด - โซลูชัน [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังพยายามใส่รายการโซลูชันที่เป็นไปได้สำหรับชุดการทดสอบอัตโนมัติของเบราว์เซอร์และแพลตฟอร์มเบราว์เซอร์ที่ไม่มีหัวที่สามารถคัดลอกได้ การทดสอบ / การเรียกดูเบราว์เซอร์: Selenium - ธงหลายภาษาในการทำงานอัตโนมัติของเบราว์เซอร์การเชื่อมโยงสำหรับ Python, Ruby, JavaScript, C #, Haskell และอื่น ๆ , IDE สำหรับ Firefox (เป็นส่วนเสริม) สำหรับการทดสอบที่รวดเร็วขึ้น สามารถทำหน้าที่เป็นเซิร์ฟเวอร์และมีคุณสมบัติมากมาย JAVASCRIPT PhantomJS - JavaScriptทดสอบหัวขาดกับการจับภาพหน้าจอและระบบอัตโนมัติที่ใช้Webkit เป็นเวอร์ชั่น 1.8 ของ WebDriver API ของ Selenium ถูกนำมาใช้ดังนั้นคุณสามารถใช้การผูก WebDriver ใด ๆ และการทดสอบจะเข้ากันได้กับ Selenium SlimerJS - …

8
มีวิธีใช้ PhantomJS ใน Python หรือไม่?
ฉันต้องการใช้PhantomJSในหลาม ฉัน googled ปัญหานี้ แต่หาทางแก้ไขไม่ได้ ฉันคิดว่าos.popen() อาจเป็นทางเลือกที่ดี แต่ฉันไม่สามารถโต้แย้งได้ การใช้subprocess.Popen()อาจเป็นโซลูชันที่เหมาะสมในตอนนี้ ฉันต้องการทราบว่ามีวิธีแก้ปัญหาที่ดีกว่าหรือไม่ มีวิธีใช้ PhantomJS ใน Python หรือไม่?
203 python  phantomjs 

25
ฉันจะติดตั้งและรัน PhantomJS บน Ubuntu ได้อย่างไร
ฉันตั้งค่า PhantomJS และบันทึกลงในวิดีโอ: https://www.dailymotion.com/video/xnizmh_1_webcam คำแนะนำการสร้าง: http://phantomjs.org/build.html มีอะไรผิดปกติในการตั้งค่าของฉันหรือไม่? หลังจากตั้งค่าฉันอ่านบทแนะนำการเริ่มต้นอย่างรวดเร็วและพยายามเขียนโค้ดนี้ phantomjs hello.js มันทำให้ฉัน "ไม่พบคำสั่ง" ข้อผิดพลาด ฉันจะแก้ปัญหานี้ได้อย่างไร

4
วิธีการส่งแบบฟอร์มโดยใช้ PhantomJS
ฉันพยายามใช้ phantomJS (เป็นเครื่องมือที่ยอดเยี่ยม btw!) เพื่อส่งแบบฟอร์มสำหรับหน้าเว็บที่ฉันมีข้อมูลประจำตัวสำหรับเข้าสู่ระบบจากนั้นส่งออกเนื้อหาของหน้าปลายทางไปยัง stdout ฉันสามารถเข้าถึงฟอร์มและตั้งค่าเรียบร้อยแล้วโดยใช้ phantom แต่ฉันไม่แน่ใจว่าสิ่งที่ไวยากรณ์ที่ถูกต้องคือการส่งแบบฟอร์มและส่งออกเนื้อหาของหน้าถัดไป สิ่งที่ฉันมีอยู่คือ: var page = new WebPage(); var url = phantom.args[0]; page.open(url, function (status) { if (status !== 'success') { console.log('Unable to access network'); } else { console.log(page.evaluate(function () { var arr = document.getElementsByClassName("login-form"); var i; for (i=0; i < arr.length; i++) …

5
Casperjs / PhantomJs เทียบกับ Selenium
เราใช้ซีลีเนียมเพื่อUIทำการทดสอบอัตโนมัติ เมื่อเร็ว ๆ นี้เราได้เห็นผู้ใช้ส่วนใหญ่ของเราใช้ Chrome เราอยากรู้ - ข้อดีข้อเสียของการใช้ PhantomJS กับ Selenium: มีข้อได้เปรียบที่แท้จริงในแง่ของประสิทธิภาพเช่นเวลาในการดำเนินการกรณีทดสอบหรือไม่ เมื่อใดที่ควรหนึ่งชอบ PhantomJS มากกว่า Selenium

5
วิธีการรวบรวมข้อมูล SEO SPA?
ผมเคยทำงานเกี่ยวกับวิธีการที่จะทำให้สามารถรวบรวมข้อมูลได้สปาโดย google อยู่บนพื้นฐานของ google คำแนะนำ แม้ว่าจะมีคำอธิบายทั่วไปบางอย่างที่ฉันไม่สามารถหาได้จากทุกที่ที่มีการสอนทีละขั้นตอนอย่างละเอียดยิ่งขึ้นพร้อมตัวอย่างจริง หลังจากเสร็จสิ้นสิ่งนี้ฉันต้องการแบ่งปันวิธีแก้ไขปัญหาของฉันเพื่อให้ผู้อื่นสามารถใช้ประโยชน์ได้และอาจปรับปรุงให้ดียิ่งขึ้น ฉันใช้MVCกับWebapiคอนโทรลเลอร์และPhantomjsที่ฝั่งเซิร์ฟเวอร์และDurandalที่ฝั่งไคลเอ็นต์พร้อมpush-stateเปิดใช้งาน ฉันยังใช้Breezejsสำหรับการโต้ตอบกับข้อมูลลูกค้า - เซิร์ฟเวอร์ซึ่งทั้งหมดนี้ฉันขอแนะนำอย่างยิ่ง แต่ฉันจะพยายามอธิบายให้มากพอที่จะช่วยผู้ใช้แพลตฟอร์มอื่น ๆ

13
แฟนทอมไม่รอโหลดหน้าเว็บเต็ม
ฉันใช้PhantomJS v1.4.1 เพื่อโหลดหน้าเว็บบางหน้า ฉันไม่สามารถเข้าถึงฝั่งเซิร์ฟเวอร์ของพวกเขาฉันเพิ่งได้รับลิงก์ชี้ไปที่พวกเขา ฉันกำลังใช้ Phantom เวอร์ชันล้าสมัยเพราะฉันต้องการการสนับสนุน Adobe Flash บนหน้าเว็บนั้น ปัญหาคือเว็บไซต์จำนวนมากโหลด async เนื้อหารองของพวกเขาและนั่นเป็นสาเหตุที่ Phantom เรียกคืน onLoadFinished โทรกลับ (อะนาล็อกสำหรับ onLoad ใน HTML) เริ่มต้นเร็วเกินไปเมื่อทุกอย่างยังไม่โหลด ใครสามารถแนะนำฉันจะรอโหลดหน้าเว็บเต็มหน้าจอตัวอย่างเช่นภาพหน้าจอที่มีเนื้อหาแบบไดนามิกทั้งหมดเช่นโฆษณาได้หรือไม่

12
PhantomJS ไม่สามารถเปิดไซต์ HTTPS ได้
ฉันใช้รหัสต่อไปนี้ตามตัวอย่าง loadpeed.js เพื่อเปิดไซต์ https: // ซึ่งต้องมีการตรวจสอบสิทธิ์เซิร์ฟเวอร์ http ด้วย var page = require('webpage').create(), system = require('system'), t, address; page.settings.userName = 'myusername'; page.settings.password = 'mypassword'; if (system.args.length === 1) { console.log('Usage: scrape.js <some URL>'); phantom.exit(); } else { t = Date.now(); address = system.args[1]; page.open(address, function (status) { if (status !== 'success') …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.