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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การเขียนวน loop ของ selenium

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

โดย บัวบุญ จันทะโคตร » 08/08/2017 6:44 pm

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

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

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 เข้ามาเรียกใช้

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

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

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

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

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

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

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

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

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

   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()
ส่วนนี้จะคำสั่งที่ใช้ในการย้อนกลับไปหน้าที่แล้วโดยจะใช้คำสั่งดังนี้

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

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

ข้างบน