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

14
การเรียกกลับ Async ไม่ได้ถูกเรียกใช้ภายในการหมดเวลา 5000 มิลลิวินาทีที่ระบุโดย jest.setTimeout
ฉันใช้หุ่นกระบอกและล้อเล่นเพื่อทำการทดสอบด้านหน้า การทดสอบของฉันมีลักษณะดังนี้: describe("Profile Tab Exists and Clickable: /settings/user", () => { test(`Assert that you can click the profile tab`, async () => { await page.waitForSelector(PROFILE.TAB); await page.click(PROFILE.TAB); }, 30000); }); บางครั้งเมื่อฉันทำการทดสอบทุกอย่างทำงานตามที่คาดไว้ ในบางครั้งฉันได้รับข้อผิดพลาด: Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout. at node_modules/jest-jasmine2/build/queue_runner.js:68:21 at Timeout.callback …

7
Puppeteer: ผ่านตัวแปรใน. ประเมิน ()
ฉันกำลังพยายามส่งผ่านตัวแปรไปยังpage.evaluate()ฟังก์ชันในPuppeteerแต่เมื่อฉันใช้ตัวอย่างที่เรียบง่ายต่อไปนี้ตัวแปรevalVarจะไม่ได้กำหนดไว้ ฉันยังใหม่กับ Puppeteer และไม่สามารถหาตัวอย่างที่จะสร้างได้ดังนั้นฉันจึงต้องการความช่วยเหลือในการส่งผ่านตัวแปรนั้นไปยังpage.evaluate()ฟังก์ชันเพื่อที่ฉันจะได้ใช้มันภายใน const puppeteer = require('puppeteer'); (async() => { const browser = await puppeteer.launch({headless: false}); const page = await browser.newPage(); const evalVar = 'WHUT??'; try { await page.goto('https://www.google.com.au'); await page.waitForSelector('#fbar'); const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // appears undefined const urls = []; hrefs = …

9
วิธีคลิกองค์ประกอบที่มีข้อความใน Puppeteer
มีวิธีใดบ้าง (ไม่พบใน API) หรือวิธีการคลิกองค์ประกอบที่มีข้อความ ตัวอย่างเช่นฉันมี html: <div class="elements"> <button>Button text</button> <a href=#>Href text</a> <div>Div text</div> </div> และฉันต้องการคลิกที่องค์ประกอบที่มีการรวมข้อความไว้ (คลิกที่ปุ่มภายใน. องค์ประกอบ) เช่น: Page.click('Button text', '.elements')
91 puppeteer 

2
วิธีปิดใช้งานการถ่ายโอนไฟล์หลักในคอนเทนเนอร์นักเทียบท่า
ที่เก็บ PHP ของฉันใช้ puppeteer เพื่อสร้าง PDF ด้วยการสร้างเอกสาร PDF มันยังสร้างไฟล์ดัมพ์หลักสองไฟล์ภายในคอนเทนเนอร์ของฉัน ฉันไม่แน่ใจว่าพวกเขามาจากไหน โฮสต์ / เซิร์ฟเวอร์คือ CentOS 7 ฉันได้ตรวจสอบดังต่อไปนี้: ไม่มีบันทึกข้อผิดพลาดของแอปพลิเคชัน Browsershot / puppeteer ทำงานโดยไม่มีข้อผิดพลาด ไม่พบบันทึกข้อผิดพลาด (เช่น segfault) /var/log/messages ฉันพยายามที่จะปิดการใช้งานหลักทิ้ง โดยทำตามปิดส่วนหลักทิ้งของhttps://linux-audit.com/understand-and-configure-core-dumps-work-on-linux/ฉันได้ทำไปแล้ว: การเพิ่มเนื้อหาต่อไปนี้ลงใน /etc/security/limits.conf * soft core 0 * hard core 0 สร้าง disable-core-dumps.sh โดย: echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh เพิ่มเนื้อหาดังต่อไปนี้ใน …

1
คุณภาพของภาพเบราว์เซอร์ที่ไม่มีหัว - โครเมี่ยมหัวขาด, phantom js, slimmer js
ฉันกำลังมองหาข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เกิดขึ้นภายใต้ประทุนในเบราว์เซอร์ที่ไม่มีหัว ฉันเคยทำงานกับเบราว์เซอร์ที่ไม่มีหัวที่แตกต่างกันในอดีตเช่นslimmerJS , Phantom.jsและHeadless Chromeโดยมีวัตถุประสงค์เพื่อถ่ายภาพหน้าจอในไซต์ต่างๆ ฉันไม่เคยสร้างภาพที่มีคุณภาพคมชัดสมจริงซึ่งจะคล้ายกับสิ่งที่คุณเห็นในเบราว์เซอร์ดูเหมือนว่าข้อ จำกัด เครื่องมือเช่นนั้นคือคุณภาพสูงสุดที่คุณสามารถทำได้จากนี้ แต่ฉันต้องการที่จะเข้าใจ ทำไมและเป็นไปได้อย่างไรที่จะทำให้ดีขึ้น โปรดเปรียบเทียบตัวอย่างด้านล่าง ในเว็บไซต์นี้https://en.wikipedia.org/wiki/Main_Pageค้นหาโลโก้ Wikipedia ที่มุมบนซ้าย นี่เป็นภาพหน้าจอของโลโก้ที่ถ่ายโดยหัวขาดผ่านหุ่นเชิด: หากคุณเปรียบเทียบเว็บไซต์จริงกับภาพหน้าจอคุณจะเห็นว่าภาพนั้นเบลออย่างไร ในตัวอย่างนี้เป็นเพียงรูปภาพ แต่สิ่งนี้เกิดขึ้นกับข้อความ HTML ตอนนี้ถ้าฉันจะถ่ายภาพหน้าจอโดยใช้คอมพิวเตอร์ไม่ว่าจะเป็น windows, mac, linux ฉันจะได้ภาพหน้าจอคุณภาพดีมากที่ดูเหมือนของจริง แล้วทำไมสิ่งนี้ถึงเกิดขึ้น ฉันลองทุกสิ่งมาตรฐานเป็นการตั้งค่าภาพหน้าจอด้วยคุณภาพสูงสุดในแต่ละไลบรารีและการตั้งค่าวิวพอร์ตที่ใหญ่พอเพื่อให้ภาพหน้าจอมีความละเอียดที่เหมาะสม นี่คือคุณภาพสูงสุดจริง ๆ ที่คุณจะได้รับจากภาพหน้าจอของเบราว์เซอร์ที่ไม่มีหัวหรือไม่? การตรัสรู้ในเรื่องนี้จะได้รับการชื่นชม ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.