สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 48088
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
MindPHP Assistant

Re: สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย MindPHP Assistant »

การแคปหน้าจอใน Python โดยไม่ใช้ Selenium สามารถทำได้หลายวิธี ขึ้นอยู่กับว่าคุณต้องการแคปหน้าจอของเว็บไซต์หรือหน้าจอทั่วไปของคอมพิวเตอร์ นี่คือบางวิธีที่สามารถใช้ได้:

1. **ใช้ `pyautogui` สำหรับแคปหน้าจอทั่วไป:**
- ติดตั้งไลบรารีด้วยคำสั่ง `pip install pyautogui`
- ใช้ฟังก์ชัน `pyautogui.screenshot()` เพื่อถ่ายภาพหน้าจอ

ตัวอย่าง:

โค้ด: เลือกทั้งหมด

python
   import pyautogui

   screenshot = pyautogui.screenshot()
   screenshot.save('screenshot.png')
   
2. **ใช้ `Pillow` สำหรับการจัดการภาพ:**
- ไลบรารี `Pillow` เป็นการต่อยอดจาก `PIL` (Python Imaging Library)
- ติดตั้งด้วยคำสั่ง `pip install pillow`
- ใช้ร่วมกับ `pyautogui` หรืออื่นๆ เพื่อจัดการและบันทึกภาพ

3. **ใช้ `mss` สำหรับแคปหน้าจอทั่วไป:**
- ไลบรารี `mss` สามารถทำงานได้เร็วกว่าในบางกรณี เนื่องจากใช้วิธีการที่ใกล้เคียงกับ low-level
- ติดตั้งด้วยคำสั่ง `pip install mss`

ตัวอย่าง:

โค้ด: เลือกทั้งหมด

python
   import mss

   with mss.mss() as sct:
       sct.shot(output='screenshot.png')
   
4. **ใช้ `pyppeteer` สำหรับแคปหน้าจอเว็บไซต์:**
- `pyppeteer` เป็นไลบรารีที่ทำให้สามารถใช้งาน Chrome/Chromium ผ่าน Python ได้
- ติดตั้งด้วยคำสั่ง `pip install pyppeteer`

ตัวอย่าง:

โค้ด: เลือกทั้งหมด

python
   import asyncio
   from pyppeteer import launch

   async def capture():
       browser = await launch()
       page = await browser.newPage()
       await page.goto('https://example.com')
       await page.screenshot({'path': 'screenshot.png'})
       await browser.close()

   asyncio.get_event_loop().run_until_complete(capture())
   
เหล่านี้เป็นวิธีการที่นิยมใช้ในการแคปหน้าจอใน Python โดยไม่ใช้ Selenium ขึ้นอยู่กับความต้องการและลักษณะของงานที่คุณต้องการทำครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 48088
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

การ capture หน้าจอเว็บไซต์ หรือ เก็บภาพ ของหน้าจอตาม URL ที่กำหนด
ด้วย python ใช้ lib ตัวไหนทำได้บ้างที่รองรับ linux
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
MindPHP Assistant

Re: สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย MindPHP Assistant »

การ capture หน้าจอเว็บไซต์หรือเก็บภาพหน้าจอตาม URL ที่กำหนด สามารถทำได้โดยใช้หลายไลบรารีใน Python ที่รองรับบน Linux ดังนี้:

1. **Selenium**:
- Selenium เป็นไลบรารียอดนิยมสำหรับการทำงานกับเว็บเบราว์เซอร์อัตโนมัติ คุณสามารถใช้ Selenium ร่วมกับ WebDriver เช่น ChromeDriver หรือ GeckoDriver (สำหรับ Firefox) เพื่อเปิดเว็บไซต์และ capture หน้าจอได้
- ติดตั้ง Selenium ด้วยคำสั่ง `pip install selenium`

2. **Playwright**:
- เป็นไลบรารีที่ใช้ในการทดสอบเว็บแอปพลิเคชัน สามารถใช้เพื่อ capture หน้าจอได้เช่นกัน รองรับการทำงานกับเบราว์เซอร์หลายตัว
- ติดตั้ง Playwright ด้วยคำสั่ง `pip install playwright` และติดตั้งเบราว์เซอร์ด้วย `playwright install`

3. **Pyppeteer**:
- Pyppeteer เป็นไลบรารีที่ใช้ในการควบคุม Google Chrome หรือ Chromium สามารถใช้เพื่อ capture หน้าจอได้
- ติดตั้ง Pyppeteer ด้วยคำสั่ง `pip install pyppeteer`

4. **Requests + imgkit / wkhtmltopdf**:
- คุณสามารถใช้ `requests` เพื่อดึง HTML ของหน้าเว็บ แล้วใช้ `imgkit` หรือ `wkhtmltopdf` เพื่อแปลง HTML เป็นรูปภาพหรือไฟล์ PDF
- ติดตั้งด้วยคำสั่ง `pip install imgkit` และติดตั้ง `wkhtmltopdf` จากแพ็คเกจใน Linux

นี่คือตัวอย่างการใช้งาน Selenium เพื่อ capture หน้าจอ:

โค้ด: เลือกทั้งหมด

python
from selenium import webdriver

# ใช้ ChromeDriver
driver = webdriver.Chrome()

# เปิด URL ที่ต้องการ
driver.get('https://example.com')

# ถ่ายภาพหน้าจอ
driver.save_screenshot('screenshot.png')

# ปิดเบราว์เซอร์
driver.quit()
อย่าลืมดาวน์โหลดและติดตั้ง WebDriver ที่เหมาะสมสำหรับเบราว์เซอร์ที่คุณเลือกใช้ด้วยนะครับ เช่น `chromedriver` สำหรับ Google Chrome หรือ `geckodriver` สำหรับ Firefox
ภาพประจำตัวสมาชิก
opj
PHP Hero Member
PHP Hero Member
โพสต์: 195
ลงทะเบียนเมื่อ: 16/12/2024 9:05 am

Re: สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย opj »

เลือกใช้ Playwright ค่ะ เนื่องจากแคปภาพเร็วกว่า Selenium ค่ะ
เดี๋ยวจะมาอธิบายเพิ่มเติมนะคะว่าทำไมต้องใช้ตัวนี้ค่ะ
ภาพประจำตัวสมาชิก
opj
PHP Hero Member
PHP Hero Member
โพสต์: 195
ลงทะเบียนเมื่อ: 16/12/2024 9:05 am

Re: สอบถามแนวทางการแคปหน้าจอที่ไม่ใช่ selenium มีอะไรบ้างด้วย Python

โพสต์ที่ยังไม่ได้อ่าน โดย opj »

opj เขียน: 24/12/2024 5:37 pm เลือกใช้ Playwright ค่ะ เนื่องจากแคปภาพเร็วกว่า Selenium ค่ะ
เดี๋ยวจะมาอธิบายเพิ่มเติมนะคะว่าทำไมต้องใช้ตัวนี้ค่ะ
สามารถอ่านเพิ่มเติมได้ที่ viewtopic.php?p=417240#p417240
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 4