Page 1 of 1

การเขียนวน loop ของ selenium

Posted: 08/08/2017 6:44 pm
by บัวบุญ จันทะโคตร
สำหรับวันนี้ผมจะมานำเสนอเกี่ยวกับการเขียน loop ใน selenium โดย โปรแกรม selenium นั้นคือ โปรแกรมที่ใช้เขียนทดสอบ เว็บไซต์แอพพลิเคชั่น โดยโปรแกรม selenium นี้สามารถเขียน test case ให้ มันทำงาน โดยมันจะทำงานอยู่ภายใต้ Webdriver ซึ่ง Webdriver นั้นคือเว็บบราว์เซอ ที่ใช้ในการแสดงผลการรันของ selenium นั้นเอง และโปรแกรม Webdriver นั้น สามรถหาดาว์โหลดได้ที่ http://docs.seleniumhq.org/download/ เมื่อดาว์โหลดมาแล้วให้ทำการติดตั้ง ตัวโปแกรมลงใน โฟลเดอร์ ไฟล์ python2.7
และนี่ก็คือตัวอย่างของโค้ด selenium วน loop กันครับ

Code: Select all

from selenium import webdriver
driver = webdriver.Chrome('/usr/local/lib/python2.7/site-packages/chromedriver')

driver.get("https://www.mindphp.com/forums/index.php")

 weblink = driver.find_elements_by_css_selector('a.forumtitle')
   for w in range(len(weblink)):
    link = driver.find_elements_by_css_selector('a.forumtitle')
     allweb = link[w].get_attribute("href")
     driver.get(allweb.encode('utf-8'))
     driver.back()
จากโค้ดในส่วนนี้ จะเป็นการนำเอา webdriver เข้ามาเรียกใช้

Code: Select all

from selenium import webdriver
ในส่วนนี้จะเป็นการระบุ path ของ webdriver

Code: Select all

driver = webdriver.Chrome('/usr/local/lib/python2.7/site-packages/chromedriver')
ส่วนนี้จะเป็นการใส่ลิ้งค์ เพื่อให้ selenium เริ่มการทำงานตามลิ้งค์ที่ใส่

Code: Select all

driver.get("https://www.mindphp.com/forums/index.php")
ส่วนนี้จะเป็นการสร้างตัวแปรที่ weblink เพื่อเก็บข้อมูลของ driver.find_elements_by_css_selector('a.forumtitle') ของเรา

Code: Select all

weblink = driver.find_elements_by_css_selector('a.forumtitle')
ส่วนนี้จะเป็นการเขียน loop for โดยเมื่อสร้างตัวแปรที่ชื่อ weblink แล้วให้เรานำตัวแปรนั้นมาใส่ใน for เพื่อทำการวนลูปต่อไป

Code: Select all

   for w in range(len(weblink)):
    link = driver.find_elements_by_css_selector('a.forumtitle')
     allweb = link[w].get_attribute("href")
     driver.get(allweb.encode('utf-8'))
     driver.back()
ส่วนนี้จะคำสั่งที่ใช้ในการย้อนกลับไปหน้าที่แล้วโดยจะใช้คำสั่งดังนี้

Code: Select all

    driver.back()
หวังว่าจะมีประโยชน์แก่ท่านผุ้ที่เข้ามารับชมกันนะครับ โดยคำสั่งต่างๆ ของ selenium ท่านสามารถศึกษาเพิ่มเติมได้ที่ https://www.mindphp.com/forums/viewtopic ... um#p101835