دوشنبه , ۱۰ اردیبهشت ۱۴۰۳

آموزش Selenium-قسمت پانزدهم: چگونه با استفاده از Selenium WebDriver مقدار موجود در یک Drop Down را انتخاب کنیم

Selenium
Selenium

در این آموزش، ما یاد خواهیم گرفت که چگونه به Drop Down و عملگرهای انتخاب چندگانه بپردازیم.

گزینه را انتخاب کنید از جعبه کشویی

قبل از اینکه بتوانیم Drop Down Boxها را کنترل کنیم، باید دو مورد زیر را انجام دهیم:

  • Import کردن بسته org.openqa.selenium.support.ui.Select
  • Drop Down Box را به صورت یک Select Object در WebDriver معرفی نمایید.

به عنوان مثال، به صفحه ثبت نام Mercury Tours به این آدرس مراجعه کنید و Country” Drop-Down Box” را در آنجا مشاهده کنید.

Selenium Figure 15-1
Selenium Figure 15-1

مرحله ۱

بسته “Select” را Inport کنید.

Selenium Figure 15-2
Selenium Figure 15-2

مرحله ۲

عنصر Drop Down را به عنوان یک نمونه از Select Class مشخص کنید. در مثال زیر، ما این Instance را به عنوان “drpCountry” نامگذاری کردیم.

Selenium Figure 15-3
Selenium Figure 15-3

مرحله ۳

اکنون می‌توانیم با استفاده از هر روش انتخابی موجود، کنترل drpCountry را کنترل کنیم. کد نمونه زیر گزینه “ANTARCTICA” را انتخاب می‌کند.

Selenium Figure 15-4
Selenium Figure 15-4

انتخاب آیتم ها در یک عنصر SELECT چندگانه

ما همچنین می‌توانیم از متد ()selectByVisibleText در انتخاب چند Option در یک عنصر چند انتخابی(Multi-Select) استفاده کنیم. به عنوان مثال، http://jsbin.com/osebed/2 را به عنوان Base URL در نظر بگیرید. این شامل یک Drop-Down Box است که Selectهای چندگانه در یک زمان را ممکن می‌سازد.

Selenium Figure 15-5
Selenium Figure 15-5

کد زیر دو گزینه اول را با استفاده از متد ()selectByVisibleText انتخاب می‌کند.

Selenium Figure 15-6
Selenium Figure 15-6

روشها را انتخاب کنید

موارد زیر رایج‌ترین متدهای مورد استفاده در Drop Down List هستند.

متد

شرح


()selectByVisibleText و ()deselectByVisibleText
مثال:
Drop Down List Method 1


* Optionای را "انتخاب"/"از انتخاب خارج" می‌کند که متن متناسب با پارامتر را نمایش می‌دهد.
* پارامتر: متن نمایش داده شده دقیق از یک گزینه خاص


()selectByValue و ()deselectByValue
مثال:
Drop Down List Method 2


* Optionای را "انتخاب"/"از انتخاب خارج" می‌کند که ویژگی "value" آن با پارامتر مشخص شده مطابقت دارد.
* پارامتر: مقدار Attribute یا مشخصه "value"
* به خاطر داشته باشید که همه گزینه‌های کشویی(Drop Down) دارای متن و "مقدار" یکسان نیستند، مانند مثال زیر.
Selenium Figure 15-7


()selectByIndex و ()deselectByIndex
مثال:
Drop Down List Method 3


* Optionای را در Index داده شده را "انتخاب"/"از انتخاب خارج" می‌کند.
* پارامتر: Index مربوط به Optionای که باید انتخاب شود.


()isMultiple
مثال
Drop Down List Method 4


* اگر عناصر Drop Down امکان انتخاب چندگانه در یک لحظه را داشته باشند مقدار True باز می‌گرداند، و در غیر اینصورت مقدار False را Return خواهد کرد.
* هیچ پارامتری نیاز ندارد


()deselectAll
مثال:
Drop Down List Method 5


* پاک کردن تمام ورودی‌های انتخاب شده. این تنها زمانی معتبر است که عنصر Drop Down از انتخاب چندگانه پشتیبانی کند.
* هیچ پارامتری نیاز ندارد

اینجا یک کد کامل وجود دارد




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.firefox.marionette","C:\\geckodriver.exe");
	    String baseURL = "http://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);
 }
}

خلاصه

و اما خلاصه‌ای درباره عنصر Drop Down Box:

Command

شرح


()selectByVisibleText()/deselectByVisibleText


Optionای را بر اساس متن نمایش داده شده "انتخاب"/"از انتخاب خارج" می‌کند.


()selectByValue()/deselectByValue


Optionای را بر اساس مقدار مشخصه "value" خود "انتخاب"/"از انتخاب خارج" می‌کند.


()selectByIndex()/deselectByIndex


گزینه‌ای را بر اساس Index آن "انتخاب"/"از انتخاب خارج" می‌کند.


()isMultiple


اگر عنصر Drop Down مجاز به انتخاب چندگانه در یک زمان باشد مقدار True را باز می‌گرداند و در غیر اینصورت مقدار False را Return می‌کند.


()deselectAll


تمام Optionهای انتخاب شده قبلی را از انتخاب خارج می‌کند.

برای کنترل Drop-Down Boxها، شما باید ابتدا بسته org.openqa.selenium.support.ui.Select را Import کرده و سپس یک Select Instance را انتخاب کنید.

این یک آموزش طولانی مدت است. بنابراین قسمت‌های بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دسته‌بندی شده از اینجا نیز در دسترس است.

ابوالفضل خواجه دیزجی

همچنین ببینید

Selenium

آموزش Selenium-قسمت هفدهم: Mouse Click Event و Keyboard Event و موضوع Action Class در Selenium WebDriver

در این بخش، ما رویداد کیبورد(Keyboard Event) و ماوس(Mouse Event) را در Selenium Webdriver آموزش …

۲ دیدگاه

  1. باسلام و احترام

    خیلی ممنون از اموزش مفیدتون خیلی واضح و گویا هست
    البته بخش هایی که خطاهای احتمالی رو شرح می دهید و علت آن ها را بازگو میکنید خیلی کمک کننده هستش

    بازم ازتون نشکر میکنم موفق باشید

    • ابوالفضل خواجه دیزجی
      ابوالفضل خواجه دیزجی

      سلام دوست من.
      از لطف شما سپاسگذارم. امیدوارم همیشه ما رو با دقت، تشویق، انتقاد و پیشنهاداتتون راهنمایی کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *