วิธีการเลือกค่าจากเมนูแบบดรอปดาวน์ใน Selenium

วิธีเลือกเมนูแบบเลื่อนลง Selenium

ต่อไปนี้เป็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีการเลือกค่าจากดรอปดาวน์ใน Selenium:

ก่อนที่จะจัดการกับดรอปดาวน์ใน Selenium และการควบคุมกล่องดรอปดาวน์ เราจะต้องทำสองสิ่งต่อไปนี้:

  1. นำเข้าแพ็คเกจ org.openqa.selenium.support.ui เลือก
  2. สร้างตัวอย่างกล่องดร็อปดาวน์เป็นวัตถุ เลือกใน Selenium ไดรเวอร์เว็บ

ยกตัวอย่างไปที่ Mercury หน้าลงทะเบียนทัวร์ (https://demo.guru99.com/test/newtours/register.php) และสังเกตกล่องดรอปดาวน์ “ประเทศ” ตรงนั้น

เลือกแบบเลื่อนลงใน Selenium

ขั้นตอนที่ 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"

ตัวอย่าง:

SelectByValue และยกเลิกการเลือกตามค่า

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