ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

     จากบทความเรื่อง วิธีการเลือกเมนูใน Dropdown (ดรอปดาวน์) โดยใช้โมดูล Selenium (ซิลิเนียม) เราก็คงจะทราบกันไปแล้ว ว่ามีวิธีในการเลือกเมนูต่างๆได้อย่างไร แต่ถ้าหาก Menu Dropdown List มีจำนวนมาก เราก็จะต้องทำการเลื่อนเพื่อหาเมนูที่เราต้องการ ซึ่งถ้าหากไม่เลื่อนหา เราก็จะไม่สามารถเข้าถึง Elements (อีลีเมนท์) เหล่านั้นได้ ซึ่งในบทความนี้เราจะมาพูดถึงการใช้คำสั่งเพื่อเลื่อนหา element ต่างๆ ใน dropdown list โดยใช้ภาษาไพทอนกัน

Dropdown (ดรอปดาวน์) คืออะไร

     ดรอปดาวน์  คือ  รายชื่อเมนูที่เมื่อ ใช้เมาส์กดแล้วจะมีรายการแสดงให้เลือก ซึ่งเจ้าตัวโมดูล selenium (ซิลิเนียม) นั้นสามารถเลือกเมนูใน Dropdown (ดรอปดาวน์) ได้ และสามารถเลื่อนหาเมนูต่างๆได้ด้วย ซึ่งเป็นความสามารถที่สำคัญมากในการทำเว็บเทสติ้ง เพราะแทบทุกเว็บมักจะมีเมนูดรอปดาวน์ ดั้งนั้นการที่สามารถเลือกเมนูในดรอปดาว์จึงเป็นสิ่งที่สำคัญมาก

วิธีการเลื่อนเมนูใน Dropdown

ตัวอย่างเมนูดรอปดาวน์ที่มีจำนวนมาก
ตัวอย่างเมนูดรอปดาวน์

ขั้นตอนที่ 1 ให้เราทำการอิมพอร์ตโมดูล ต่างๆที่อยู่ใน selenium มาใช้งานก่อน ดังนี้

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

ขั้นตอนที่ 2 ให้เราค้นหาที่อยู่ของ ดรอปดาวน์ที่เราต้องการอาจจะใช้หาโดย Xpath , id หรืออย่างอื่นก็ได้ 

element = driver.find_element_by_xpath('...') #path ของดรอปดาวน์
actions = ActionChains(driver) #ใช้คำสั่งในการเลื่อน
actions.move_to_element(element).perform()

ขั้นตอนที่ 3 เมื่อเราเลื่อนดรอปดาวน์ลิสต์ได้แล้ว ให้เราทำการกำหนดเส้นทางของเมนูดรอปดาวน์ที่เราต้องการจะเลือก จากนั้นใช้คำสั่งคลิ๊กในการเลือก

#สั่งให้เลื่อนหาจนกว่าจะเจอเมนูที่ต้องการ จากนั้นทำการใช้คำสั่ง .click()
x = WebDriverWait(driver, 10).until(ec.element_to_be_clickable((By.XPATH,'...')))
x.click()

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

 

 

ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Selenium

Python - เขียนเทสเคส ด้วย Selenium

วิธีการเลือกเมนูใน Dropdown (ดรอปดาวน์) โดยใช้โมดูล Selenium (ซิลิเนียม)

แนะนำคำสั่ง .click (คลิ๊ก) ของโมดูล Selenium (ซิลิเนียม) ในภาษาไพทอน

การหา X path (เอกซ์พาท) ง่ายๆเพื่อนำไปใช้กับโมดูล Selenium (ซิลิเนี่ยม)

วิธีการเลื่อนหน้าเว็บขึ้นลงโดยใช้โมดูล selenium (ซิลิเนียม)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทริป กางเต็นท์ ใกล้กรุงเทพ
โดย milk2533 จ 23 พ.ย. 2020 1:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
จ 23 พ.ย. 2020 1:04 pm โดย milk2533
- ให้เขียนประวัติ และ Job description ที่เคยทำมาแต่ละบริษัท โดยระบุประเภทธุรกิจที่เคยทำมา
โดย milk2533 จ 23 พ.ย. 2020 11:26 am บอร์ด M115 - กฤตวรรณ อาทิตย์ตั้ง
1
13
จ 23 พ.ย. 2020 4:34 pm โดย milk2533
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย milk2533 จ 23 พ.ย. 2020 11:26 am บอร์ด M115 - กฤตวรรณ อาทิตย์ตั้ง
3
22
จ 23 พ.ย. 2020 7:03 pm โดย milk2533
Work's on Hand กฤตวรรณ อาทิตย์ตั้ง M115
โดย milk2533 จ 23 พ.ย. 2020 11:24 am บอร์ด M115 - กฤตวรรณ อาทิตย์ตั้ง
0
3
จ 23 พ.ย. 2020 11:24 am โดย milk2533
note ส่วนตัว
โดย milk2533 จ 23 พ.ย. 2020 11:23 am บอร์ด M115 - กฤตวรรณ อาทิตย์ตั้ง
0
1
จ 23 พ.ย. 2020 11:23 am โดย milk2533
งานประจำวันที่ 23 พฤศจิกายน 2563
โดย milk2533 จ 23 พ.ย. 2020 11:21 am บอร์ด M115 - กฤตวรรณ อาทิตย์ตั้ง
2
28
จ 23 พ.ย. 2020 7:08 pm โดย milk2533
คำสั่งค้นหาไฟล์ จากขนาดของไฟล์
โดย mindphp จ 23 พ.ย. 2020 12:07 am บอร์ด Linux - Web Server
0
7
จ 23 พ.ย. 2020 12:07 am โดย mindphp
แก้ป้ญหา ภาษาไทย Error ใน Flask template ninja2 Error UnicodeDecodeError UnicodeDecodeError: 'ascii' codec can't decode
โดย mindphp ส 21 พ.ย. 2020 10:38 pm บอร์ด Python Knowledge
1
17
จ 23 พ.ย. 2020 12:22 pm โดย samay123