วิธีการเลือกค่าจากเมนูแบบดรอปดาวน์ใน Selenium
วิธีเลือกเมนูแบบเลื่อนลง Selenium
ต่อไปนี้เป็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีการเลือกค่าจากดรอปดาวน์ใน Selenium:
ก่อนที่จะจัดการกับดรอปดาวน์ใน Selenium และการควบคุมกล่องดรอปดาวน์ เราจะต้องทำสองสิ่งต่อไปนี้:
- นำเข้าแพ็คเกจ org.openqa.selenium.support.ui เลือก
- สร้างตัวอย่างกล่องดร็อปดาวน์เป็นวัตถุ เลือกใน Selenium ไดรเวอร์เว็บ
ยกตัวอย่างไปที่ Mercury หน้าลงทะเบียนทัวร์ (https://demo.guru99.com/test/newtours/register.php) และสังเกตกล่องดรอปดาวน์ “ประเทศ” ตรงนั้น
ขั้นตอนที่ 1) นำเข้าแพ็คเกจ "เลือก"
import org.openqa.selenium.support.ui.Select;
ขั้นตอนที่ 2) ประกาศองค์ประกอบแบบเลื่อนลงเป็นอินสแตนซ์ของคลาส Select.
ในตัวอย่างด้านล่าง เราตั้งชื่ออินสแตนซ์นี้เป็น “drpCountry”
Select drpCountry = new Select(driver.findElement(By.name("country")));
ขั้นตอนที่ 3) เริ่มการควบคุมมัน
ตอนนี้เราสามารถเริ่มควบคุม "drpCountry" ได้โดยใช้วิธีการเลือกที่มีอยู่เพื่อเลือกดรอปดาวน์ Selenium- โค้ดตัวอย่างด้านล่างจะเลือกตัวเลือก “ANTARCTICA”
drpCountry.selectByVisibleText("ANTARCTICA");
เลือกชั้นเรียนใน Selenium
เค้ก เลือกชั้นเรียนใน Selenium เป็นวิธีที่ใช้ในการติดตั้งแท็ก HTML SELECT แท็กเลือก html มีวิธีการช่วยเหลือในการเลือกและยกเลิกการเลือกองค์ประกอบ คลาส Select เป็นคลาสธรรมดา ดังนั้นจึงใช้คีย์เวิร์ด New เพื่อสร้างอ็อบเจ็กต์และระบุตำแหน่งขององค์ประกอบเว็บ
เลือกวิธีการใน Selenium
ต่อไปนี้เป็นวิธีการที่ใช้กันทั่วไปที่สุด Selenium รายการแบบเลื่อนลง
#1) เลือกByVisibleText() และยกเลิกการเลือกByVisibleText()
- เลือก/ยกเลิกการเลือกตัวเลือกที่แสดงข้อความที่ตรงกับพารามิเตอร์
- พารามิเตอร์: ข้อความที่แสดงอย่างแม่นยำของตัวเลือกเฉพาะ
ตัวอย่าง:
drpCountry.selectByVisibleText("ANTARCTICA");
#2) เลือกByValue() และยกเลิกการเลือกByValue()
- เลือก/ยกเลิกการเลือกตัวเลือกที่มีแอตทริบิวต์ "value" ตรงกับพารามิเตอร์ที่ระบุ
- โปรดจำไว้ว่าตัวเลือกแบบเลื่อนลงบางตัวเลือกอาจมีข้อความและ "ค่า" เหมือนกัน ดังตัวอย่างด้านล่าง
- พารามิเตอร์: ค่าของแอตทริบิวต์ "value"
ตัวอย่าง:
drpCountry.selectByValue("234");
#3) เลือกByIndex() และยกเลิกการเลือกByIndex()
- เลือก/ยกเลิกการเลือกตัวเลือกที่ดัชนีที่กำหนด
- พารามิเตอร์: ดัชนีของตัวเลือกที่จะเลือก
ตัวอย่าง:
drpCountry.selectByIndex(0);
#4) isMultiple()
- คืนค่า TRUE หากองค์ประกอบดรอปดาวน์อนุญาตให้เลือกได้หลายรายการในเวลาเดียวกัน คืนค่า FALSE หากไม่เป็นเช่นนั้น
- พารามิเตอร์: ไม่ต้องการ
ตัวอย่าง
if (drpCountry.isMultiple()) { //do something here }
#5) ยกเลิกการเลือกทั้งหมด()
- ล้างรายการที่เลือกทั้งหมด ใช้ได้เฉพาะเมื่อองค์ประกอบแบบเลื่อนลงรองรับการเลือกหลายรายการ
- พารามิเตอร์: ไม่ต้องการ
ตัวอย่าง:
drpCountry.deselectAll();
รหัสวิธีการเลือกที่สมบูรณ์ใน Selenium
package newpackage; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; import org.openqa.selenium.By; public class accessDropDown { public static void main(String[] args) { System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe"); String baseURL = "https://demo.guru99.com/test/newtours/register.php"; WebDriver driver = new FirefoxDriver(); driver.get(baseURL); Select drpCountry = new Select(driver.findElement(By.name("country"))); drpCountry.selectByVisibleText("ANTARCTICA"); //Selecting Items in a Multiple SELECT elements driver.get("http://jsbin.com/osebed/2"); Select fruits = new Select(driver.findElement(By.id("fruits"))); fruits.selectByVisibleText("Banana"); fruits.selectByIndex(1); } }
การเลือกรายการในองค์ประกอบ SELECT หลายรายการ
เรายังสามารถใช้ไฟล์ เลือก ByVisibleText() วิธีการเลือกหลายตัวเลือกในองค์ประกอบ SELECT หลายรายการ เราจะยกตัวอย่าง https://jsbin.com/osebed/2 เป็น URL ฐาน โดยจะมีกล่องดร็อปดาวน์ให้เลือกหลายรายการพร้อมกัน
โค้ดด้านล่างจะเลือกสองตัวเลือกแรกโดยใช้เมธอด selectByVisibleText()
สรุป
คำสั่ง | Descriptไอออน |
---|---|
selectByVisibleText()/
ยกเลิกการเลือกByVisibleText() |
เลือก/ยกเลิกการเลือกตัวเลือกตามข้อความที่แสดง |
เลือกByValue()/
ยกเลิกการเลือกByValue() |
เลือก/ยกเลิกการเลือกตัวเลือกตามค่าของแอตทริบิวต์ "value" |
เลือก ByIndex()/
ยกเลิกการเลือกByIndex() |
เลือก/ยกเลิกการเลือกตัวเลือกตามดัชนี |
isMultiple () | คืนค่า TRUE หากองค์ประกอบดร็อปดาวน์อนุญาตให้เลือกได้หลายรายการในเวลาเดียวกัน คืนค่า FALSE หากไม่เช่นนั้น |
ยกเลิกการเลือกทั้งหมด() | ยกเลิกการเลือกตัวเลือกที่เลือกไว้ก่อนหน้านี้ทั้งหมด |
หากต้องการควบคุมกล่องดรอปดาวน์ คุณต้องนำเข้าแพ็กเกจ org.openqa.selenium.support.ui.Select ก่อน จากนั้นจึงสร้างอินสแตนซ์ Select