วันอาทิตย์ที่ 14 สิงหาคม พ.ศ. 2559
ถ่ายภาพหน้าจอด้วย selenium โดยใช้ Firefox webdriver
ก่อนหน้านี้เราทำการรับภาพ preview ของหน้าเว็บโดยการใช้ phantomjs มาทำเป็น webdriver ผลที่ได้ก็ทำให้ได้รูปภาพที่ต้องการ แต่ในบางกรณีรูปภาพที่ได้มีปัญหา คือในกรณีที่หน้าเว็บเป็น plugin pdf ผลที่ได้คือจะมองไม่เห็นตัว pdf viewer ดังรูปด้านล่างนี้ ส่วนที่เป็นพื้นที่โล่งตรงกลางรูปภาพคือส่วน pdf viewer ที่มองไม่เห็นและในกรณีใช้งาน video plugin ในหน้าเว็บจะพบปัญหา missing flash plugin ทำให้ตัว video player ไม่ปรากฎขึ้นมาให้เราเห็นในรูปภาพ ดังรูปด้านล่างนี้
วิธีแก้ไขคือใช้ Firefox webdriver ดังตัวอย่างด้านล่างนี้
#!/usr/bin/env python from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(800, 600)) display.start() # now Firefox will run in a virtual display. # you will not see the browser. browser = webdriver.Firefox() browser.get('http://www.google.com') print browser.title browser.quit() display.stop()
จากตัวอย่างด้านบน ให้เราติดตั้ง library pyvirtualdisplay ก่อนซึ่ง library ตัวนี้จะใช้ไม่ให้มีการเปิด web browser ขึ้นมาเมื่อ selenium ทำงาน
ติดตั้งด้วยคำสั่ง ดังนี้
$ sudo apt-get install xvfb python-pip
$ sudo pip install pyvirtualdisplay
สมัครสมาชิก:
ส่งความคิดเห็น
(
Atom
)


ไม่มีความคิดเห็น :
แสดงความคิดเห็น