Danh sách thả xuống lớp div selen Python

Danh sách thả xuống là một phần vốn có của bất kỳ biểu mẫu web nào hiện có trên internet. Nếu bạn phải chọn  từ danh sách các tùy chọn có sẵn thì cách tốt nhất để triển khai đó là menu thả xuống. Một ví dụ rất phổ biến sẽ được chọn theo năm sinh, ngày hoặc tháng của bạn. Bạn sẽ thấy một danh sách thả xuống có thể cuộn cho phép bạn chọn một phần tử từ danh sách các phần tử khác

Danh sách thả xuống không phải là một phần tử đơn lẻ. Nó thực sự là một tập hợp hoặc một lớp các phần tử. Ví dụ: bạn có thể nói rằng quốc gia là lớp và các giá trị có sẵn trong danh sách thả xuống là các đối tượng nhỏ hơn khác nhau

Để làm việc với danh sách thả xuống, trước tiên bạn cần chọn hoặc tìm nhóm phần tử chính, sau đó đi sâu hơn vào bên trong và chọn phần tử phụ mà bạn muốn chọn cho

Chọn một danh sách thả xuống

Vì danh sách thả xuống có nhiều tùy chọn nên điều quan trọng là chúng tôi phải chọn một thứ riêng biệt. Selenium Python API cung cấp lớp Select , cho phép bạn chọn phần tử bạn chọn

Bạn có thể đọc chi tiết

Ghi chú. Lớp Select chỉ hoạt động với các thẻ có thẻ chọn

  • Sử dụng chỉ mục thả xuống
  • Sử dụng giá trị của danh sách thả xuống
  • Sử dụng văn bản thả xuống

Sử dụng chỉ mục thả xuống

Nếu danh sách thả xuống có thuộc tính “chỉ mục”, thì chúng ta có thể sử dụng chỉ mục đó để chọn một tùy chọn cụ thể. Bạn cần cẩn thận khi sử dụng cách này, vì chỉ số bắt đầu từ 0 không phải là hiếm, và vì vậy nếu bạn đang nghĩ rằng chỉ số đó hoạt động tương tự như quốc gia, thì bạn có thể đã nhầm.

Chúng ta có thể sử dụng phương pháp select_by_index( ) để chọn một tùy chọn bằng cách sử dụng
thuộc tính chỉ mục

Ví dụ

s1= Select(driver.find_element_by_id('id_of_element')) s1.select_by_index(5)

Sử dụng giá trị của danh sách thả xuống

Nếu đánh dấu html xác định thẻ tùy chọn, thì bạn có thể sử dụng giá trị phù hợp với đối số. Giả sử html cho danh sách thả xuống là như thế này

<option value="foo">Bar1</option>

Chúng ta có thể sử dụng phương pháp select_by_value( ) để chọn một tùy chọn bằng cách sử dụng
thuộc tính chỉ mục

Ví dụ

s2= Select(driver.find_element_by_id('id_of_element')) s2.select_by_value('foo')

Sử dụng văn bản thả xuống

Có lẽ là cách dễ nhất để làm điều đó. Bạn phải khớp với văn bản được hiển thị trong trình đơn thả xuống

Ví dụ

s3= Select(driver.find_element_by_id('id_of_element')) s3.select_by_visible_text('element_text')

Bây giờ, làm thế nào về việc loại bỏ các lựa chọn của chúng tôi

Bỏ chọn tùy chọn từ danh sách thả xuống

Bây giờ, nếu bạn muốn bỏ chọn tùy chọn mà bạn vừa chọn thì sao?

  • deselect_all( )

Xóa tất cả các tùy chọn đã chọn. Điều này chỉ áp dụng trong trường hợp có nhiều lựa chọn. Nếu bạn có nhiều hộp lựa chọn, thì bạn có thể sử dụng hộp này để bỏ chọn bất kỳ tùy chọn nào đã chọn

driver = webdriver.Chrome() driver.get("//discord.com/register") driver.find_element_by_xpath("//input[@class='inputDefault-_djjkz input-cIJ7To' and @type='email']").send_keys(mail) driver.find_element_by_xpath("//input[@class='inputDefault-_djjkz input-cIJ7To' and @type='text']").send_keys(name) driver.find_element_by_xpath("//input[@class='inputDefault-_djjkz input-cIJ7To' and @type='password']").send_keys(name)

tôi có vấn đề
Tôi làm bất hòa tài khoản được tạo tự động. thư, mật khẩu, tên công việc. Nhưng với ngày tôi gặp vấn đề vì họ không có đầu vào. Làm ơn giúp tôi với

điểm. 0

câu trả lời được chấp nhận

Để mở chọn Tháng, bạn có thể sử dụng

driver.find_element_by_xpath("//div[contains(@class,'inputMonth')]").click()

Sau đó chọn một số tháng với một cái gì đó như

driver.find_element_by_xpath("//div[@id='react-select-5-option-1']").click()

Số cuối cùng ở đây là số tùy chọn trong danh sách

Tương tự bạn có thể chọn Ngày và Năm

Bài đăng nổi bật từ cùng một thẻ

Một trang web bao gồm nhiều thành phần web khác nhau, từ trường văn bản, nút, hộp kiểm, trình đơn thả xuống, v.v. Với việc sử dụng rộng rãi các biểu mẫu trên các trang web ngày nay, thỉnh thoảng chúng ta bắt gặp DropDowns. Ngày nay, có nhiều loại danh sách thả xuống khác nhau, chủ yếu được phân loại là chọn một lần (cho phép chỉ chọn một giá trị) hoặc chọn nhiều (cho phép chọn nhiều giá trị). Selenium WebDriver cung cấp một lớp có tên là "Select", lớp này cung cấp nhiều phương thức khác nhau để xử lý danh sách thả xuống, có thể là danh sách thả xuống một lựa chọn hoặc nhiều lựa chọn. Trong bài viết này, chúng ta sẽ hiểu những điểm phức tạp của lớp "Select " của Selenium WebDriver và sẽ hiểu cách chúng ta có thể xử lý trình đơn thả xuống trong Selenium bằng cách trình bày chi tiết theo các chủ đề sau

  • Chọn lớp trong Selenium là gì?
    • Làm cách nào để chọn một giá trị từ danh sách thả xuống trong Selenium?
    • Làm cách nào để chọn nhiều giá trị từ danh sách thả xuống trong Selenium?
    • Ngoài ra, làm cách nào để có các tùy chọn từ trình đơn thả xuống trong Selenium?
  • Làm cách nào để bỏ chọn một giá trị từ Selenium thả xuống?
  • Ví dụ minh họa cách sử dụng lớp Select trong Selenium
    • Ví dụ 1 - Xử lý dropdown sử dụng Selenium WebDriver
    • Ví dụ 2 - Xử lý đa lựa chọn bằng Selenium WebDriver

Chọn lớp trong Selenium là gì?

Trong HTML, danh sách thả xuống thường được triển khai bằng cách sử dụng thẻ // Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 5 hoặc thẻ // Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 6. Để thực hiện một số thao tác trên danh sách thả xuống, được khai báo bằng cách sử dụng thẻ HTML // Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 5, Selenium WebDrivers cung cấp một lớp có tên là lớp "Select ". Ngay khi bạn bắt đầu gõ "Select " trong IDE của mình, nó sẽ hiển thị thông tin chi tiết như bên dưới

Như chúng ta có thể thấy từ ảnh chụp màn hình ở trên, lớp "Select " được cung cấp bởi "org. openqa. selen. ủng hộ. ui " gói của Selenium WebDriver. Bạn có thể tạo một đối tượng của lớp Chọn, bằng cách chuyển đối tượng của lớp "WebElement", hiển thị đối tượng được trả về bởi bộ định vị tương ứng của WebElement

Vì vậy, bạn có thể tạo đối tượng của lớp Select bằng cách sử dụng cú pháp sau

Select select = new Select(WebElement webelement);

Hàm tạo của lớp Chọn chấp nhận một tham số. đối tượng WebElement được trả về bởi bộ định vị của phần tử đã chỉ định

Lớp "Select " cung cấp các phương thức khác nhau để xử lý các hoạt động thả xuống. Các số liệu sau đây liệt kê một vài trong số họ

Bây giờ chúng ta hãy hiểu cú pháp và cách sử dụng các phương thức chọn và bỏ chọn khác nhau được cung cấp bởi lớp "Select " trong Selenium WebDriver

Làm cách nào để chọn một giá trị từ danh sách thả xuống trong Selenium?

Như được đánh dấu trong hình trên, lớp Chọn của Selenium WebDriver  cung cấp các phương pháp sau để chọn một tùy chọn/giá trị từ trình đơn thả xuống (như được đánh dấu bằng điểm đánh dấu 1 trong hình trên)

  • selectBy Index
  • selectByValue
  • selectByVisibleText

Hãy hiểu cú pháp và cách sử dụng của tất cả các phương thức này

selectBy Index

Phương pháp này chọn tùy chọn thả xuống theo số chỉ mục của nó. Chúng tôi cung cấp một giá trị số nguyên làm số chỉ mục làm đối số. Nó sở hữu cú pháp sau

selectByIndex(int arg0) : void

i. e. , nó chấp nhận chỉ mục của giá trị thả xuống cần được chọn. Chỉ số bắt đầu từ 0

Giả sử trên trang web "https. // demoqa. com/select-menu", chúng tôi có lựa chọn giá trị thứ 4 của danh sách thả xuống như được đánh dấu bên dưới

Như chúng ta có thể thấy, danh sách thả xuống ở trên đang được triển khai bằng cách sử dụng thẻ HTML // Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 5, vì vậy chúng ta có thể sử dụng lớp "Select " của Selenium WebDriver để chọn tùy chọn "Yellow" bằng cách sử dụng chỉ mục như bên dưới

// Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3);

Như chúng tôi đã đề cập, các chỉ số thả xuống bắt đầu từ 3, vì vậy giá trị "Vàng" có thể được chọn bằng cách sử dụng chỉ số 3

selectByValue

Phương pháp này chọn tùy chọn thả xuống theo giá trị của nó. Chúng tôi cung cấp một giá trị chuỗi làm giá trị làm đối số. Nó sở hữu cú pháp sau

selectByValue(String arg0) : void

Nếu chúng tôi xem xét danh sách thả xuống tương tự trên trang "https. // demoqa. com/select-menu", như trong phần trước, chúng ta có thể thấy rằng mỗi tùy chọn của danh sách thả xuống đều có một giá trị được gán như hình bên dưới

Bây giờ, nếu chúng ta phải chọn tùy chọn "Trắng", chúng ta có thể sử dụng giá trị "6 " của nó, như được hiển thị trong đoạn mã sau

// Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option with value "6" se.selectByValue("6");

Vì giá trị "6 " tương ứng với tùy chọn "Trắng" nên nó sẽ chọn giá trị "Trắng" từ danh sách thả xuống

selectByVisibleText

Phương pháp này cho phép một người chọn một tùy chọn từ danh sách thả xuống hoặc thả xuống nhiều lựa chọn dựa trên văn bản thả xuống. Bạn cần chuyển giá trị Chuỗi của phần tử // Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 5 làm đối số. Nó sở hữu cú pháp sau

selectByVisibleText(String arg0): void

Nếu chúng tôi xem xét danh sách thả xuống tương tự trên trang "https. // demoqa. com/select-menu", như trong phần trước, chúng ta có thể thấy rằng mỗi tùy chọn trong danh sách thả xuống sẽ có một giá trị văn bản, giá trị này cũng được hiển thị trên trang web, vì vậy chúng ta có thể sử dụng văn bản đó để chọn tùy chọn tương ứng

// Create the object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option using the visible text se.selectByVisibleText("White");

Vì danh sách thả xuống có một trong các tùy chọn có văn bản là "Trắng", tùy chọn tương tự sẽ được chọn bằng mã trên

Ngoài các loại danh sách thả xuống được tóm tắt ở trên, thẻ HTML // Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 5 cũng cung cấp các cách để xác định danh sách thả xuống, cho phép chọn nhiều giá trị. Hãy xem cách khai báo menu thả xuống Đa lựa chọn và cách chúng ta có thể chọn nhiều tùy chọn trong danh sách thả xuống bằng cách sử dụng lớp "Select " của Selenium WebDriver

Làm cách nào để chọn nhiều giá trị từ danh sách thả xuống trong Selenium?

Nếu thẻ selectByValue(String arg0) : void 1 chứa nhiều thuộc tính, điều đó có nghĩa là trình đơn thả xuống cho phép chọn nhiều giá trị. Như chúng ta có thể thấy trong ảnh chụp màn hình sau từ trang web "https. // demoqa. com/chọn-menu"

Chúng tôi có thể sử dụng bất kỳ phương pháp nào mà chúng tôi đã sử dụng để chọn một giá trị từ menu thả xuống để chọn nhiều giá trị bằng cách gọi các phương thức đó nhiều lần cho các giá trị khác nhau. Lớp "Select " cung cấp một phương thức, isMultiple(), bằng cách sử dụng phương thức này trước tiên chúng ta có thể xác thực xem trình đơn thả xuống có cho phép chúng ta chọn nhiều giá trị hay không. Hãy xem cách sử dụng phương thức isMultiple()

Làm cách nào để kiểm tra xem menu thả xuống có phải là Đa lựa chọn không?

Như chúng ta đã thảo luận, lớp Select cung cấp phương thức "isMultiple()", xác định xem phần tử web có hỗ trợ nhiều lựa chọn hay không. Nó trả về một giá trị boolean, tôi. e. , Đúng/Sai, không tham gia bất kỳ đối số nào. Nó kiểm tra thuộc tính 'multiple' trong mã HTML cho phần tử web. Do đó, nó sở hữu cú pháp sau

isMultiple(): boolean

Khi bạn xác định xem phần tử web có đa lựa chọn hay không, bạn có thể sử dụng các phương thức chọn khác nhau của lớp Chọn trên nhiều giá trị mà bạn định chọn. Mã ví dụ dưới đây hiển thị tương tự-

Select oSel = new Select(driver.findElement(By.xpath(//*[@id='cars']); if(oSel.isMultiple()){ //Selecting multiple values by index oSel.selectByIndex(1); oSel.selectByIndex(2); //Or selecting by values oSel.selectByValue("volvo"); oSel.selectByValue("audi"); //Or selecting by visible text oSel.selectByVisibleText("Volvo"); oSel.selectByVisibleText("Opel"); }

Và đó là cách bạn có thể chọn nhiều giá trị từ danh sách thả xuống nhiều lựa chọn

Bây giờ chúng ta đã hiểu cách chúng ta có thể chọn các giá trị từ danh sách thả xuống, có thể là chọn một lần hoặc chọn nhiều lần, chúng ta nên có một số cách để kiểm tra xem danh sách thả xuống chứa những giá trị nào và tất cả các giá trị nào được chọn trong danh sách thả xuống. Lớp "Select " cung cấp các phương thức để nhận các tùy chọn từ trình đơn thả xuống. Hãy cùng tìm hiểu chi tiết và cách sử dụng các phương thức này

Làm cách nào để có các tùy chọn từ danh sách thả xuống trong Selenium?

Như được đánh dấu bằng điểm đánh dấu 2, trong hình ảnh bên dưới phần lớp "Chọn " ở trên, lớp Chọn cung cấp các phương thức sau để nhận các tùy chọn của danh sách thả xuống

  • getOptions()
  • getFirstSelectedOption()
  • getSelectedOptions()

Hãy cùng tìm hiểu chi tiết về tất cả các phương pháp này

getOptions

Đôi khi bạn cần lấy tất cả các tùy chọn trong hộp thả xuống hoặc hộp chọn nhiều. Đây là nơi bạn có thể sử dụng phương thức getOptions() của lớp Select. Nó sở hữu cú pháp sau

getOptions(): List<WebElement>

Như chúng ta có thể thấy, phương thức này trả về tất cả các tùy chọn của danh sách thả xuống dưới dạng danh sách WebElement. Đoạn mã sau đây cho thấy cách chúng tôi có thể nhận được tất cả các tùy chọn của trình đơn thả xuống trên trang "https. // demoqa. com/chọn-menu"

selectByIndex(int arg0) : void 0

Sử dụng phương pháp này, chúng tôi có thể truy xuất tất cả các tùy chọn của danh sách thả xuống (có thể là chọn một lần hoặc chọn nhiều lần)

getFirstSelectedOption()

Phương thức này trả về tùy chọn được chọn đầu tiên của danh sách thả xuống. Nếu đó là danh sách thả xuống chọn một lần, phương thức này sẽ trả về giá trị đã chọn của danh sách thả xuống và nếu đó là danh sách thả xuống nhiều lựa chọn, phương thức này sẽ trả về giá trị được chọn đầu tiên của danh sách thả xuống. Nó sở hữu cú pháp sau

selectByIndex(int arg0) : void 1

Như chúng ta có thể thấy, phương thức này trả về một WebElement. Đoạn mã sau đây cho biết cách chúng tôi có thể nhận tùy chọn được chọn đầu tiên trong danh sách thả xuống trên trang "https. // demoqa. com/chọn-menu"

selectByIndex(int arg0) : void 2

Sử dụng phương pháp này, chúng tôi có thể truy xuất tùy chọn được chọn đầu tiên của danh sách thả xuống (có thể là chọn một lần hoặc chọn nhiều lần)

getAllSelectedOptions()

Phương thức này trả về tất cả các tùy chọn đã chọn của danh sách thả xuống. Nếu đó là danh sách thả xuống chọn một lần, phương thức này sẽ trả về giá trị được chọn duy nhất của danh sách thả xuống và nếu đó là danh sách thả xuống nhiều lựa chọn, phương thức này sẽ trả về tất cả các giá trị đã chọn của danh sách thả xuống. Nó sở hữu cú pháp sau

selectByIndex(int arg0) : void 3

Như chúng ta có thể thấy, phương thức này trả về một danh sách các WebElements. Đoạn mã sau đây cho thấy cách chúng tôi có thể nhận được tất cả các tùy chọn đã chọn của trình đơn thả xuống trên trang "https. // demoqa. com/chọn-menu"

selectByIndex(int arg0) : void 4

Sử dụng phương pháp này, chúng tôi có thể truy xuất tất cả các tùy chọn đã chọn của danh sách thả xuống (có thể là chọn một lần hoặc chọn nhiều lần)

Làm cách nào để bỏ chọn một giá trị từ danh sách thả xuống trong Selenium?

Giống như khi chúng tôi chọn các giá trị trong danh sách thả xuống và nhiều lựa chọn, chúng tôi cũng có thể bỏ chọn các giá trị. Nhưng phương pháp bỏ chọn chỉ hoạt động cho Multi-Select. Bạn có thể bỏ chọn các tùy chọn được chọn trước từ phần tử Nhiều lựa chọn bằng cách sử dụng các phương pháp bỏ chọn khác nhau được thảo luận tại đây. Như chúng ta đã quan sát trong ảnh chụp màn hình hiển thị các phương thức của lớp "Select " (được hiển thị bởi điểm đánh dấu 3), lớp Select cung cấp các phương thức sau để bỏ chọn các giá trị của danh sách thả xuống

  • bỏ chọn tất cả()
  • bỏ chọnByIndex()
  • bỏ chọnByValue()
  • bỏ chọnByVisibleText()

Hãy cùng tìm hiểu chi tiết và cách sử dụng của tất cả các phương pháp này

bỏ chọn tất cả

Phương pháp này sẽ xóa tất cả các mục đã chọn của danh sách thả xuống. Nó sở hữu cú pháp sau

selectByIndex(int arg0) : void 5

Nếu có một vài tùy chọn đã được chọn trong danh sách thả xuống, bạn có thể bỏ chọn tất cả các tùy chọn bằng phương thức deselectAll(). Đoạn mã sau hiển thị một ví dụ mẫu, cách chúng tôi bỏ chọn tất cả các giá trị từ danh sách thả xuống

selectByIndex(int arg0) : void 6

Nó sẽ bỏ chọn tất cả các tùy chọn từ danh sách thả xuống

bỏ chọnBy Index

Tương tự như phương thức selectByIndex(), lớp Select cũng cung cấp phương thức để bỏ chọn một tùy chọn từ danh sách thả xuống bằng cách sử dụng phương thức deselectByIndex(). Bạn có thể sử dụng số chỉ mục của tùy chọn để bỏ chọn nó. Nó sở hữu cú pháp sau

selectByIndex(int arg0) : void 7

Vì vậy, nếu có một vài tùy chọn đã được chọn trong danh sách thả xuống, bạn có thể bỏ chọn một trong các tùy chọn bằng phương thức deselectByIndex(). Đoạn mã sau hiển thị một ví dụ mẫu, cách chúng tôi bỏ chọn một trong các giá trị từ danh sách thả xuống bằng cách chỉ định chỉ mục của nó

selectByIndex(int arg0) : void 8

Nó sẽ bỏ chọn tùy chọn ở chỉ mục 1 trong danh sách thả xuống

bỏ chọnByValue

Tương tự như phương thức selectByValue(), lớp Select cũng cung cấp phương thức để bỏ chọn một tùy chọn từ danh sách thả xuống bằng cách sử dụng phương thức deselectByValue(). Bạn có thể sử dụng giá trị của tùy chọn để bỏ chọn nó. Nó sở hữu cú pháp sau

selectByIndex(int arg0) : void 9

Vì vậy, nếu có một vài tùy chọn đã được chọn trong danh sách thả xuống, bạn có thể bỏ chọn một trong các tùy chọn bằng cách sử dụng deselectByValue(). Đoạn mã sau hiển thị một ví dụ mẫu, cách chúng tôi bỏ chọn một trong các giá trị từ danh sách thả xuống bằng cách chỉ định giá trị của nó

// Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 0

Nó sẽ bỏ chọn tùy chọn có giá trị trong danh sách thả xuống

bỏ chọnByVisibleText

Tương tự như phương thức selectByVisibleText(), lớp Select cũng cung cấp phương thức để bỏ chọn một tùy chọn từ danh sách thả xuống bằng cách sử dụng phương thức deselectByVisibleText(). Bạn có thể sử dụng văn bản của tùy chọn để bỏ chọn nó. Nó sở hữu cú pháp sau

// Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 1

Vì vậy, nếu có một vài tùy chọn đã được chọn trong danh sách thả xuống, bạn có thể bỏ chọn một trong các tùy chọn bằng phương thức deselectByVisibleText(). Đoạn mã sau hiển thị một ví dụ mẫu, cách chúng tôi bỏ chọn một trong các giá trị từ trình đơn thả xuống bằng cách chỉ định văn bản của nó

// Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 2

Nó sẽ bỏ chọn tùy chọn có dòng chữ "Trắng" trong danh sách thả xuống

Ví dụ minh họa cách sử dụng lớp Select trong Selenium

Chúng tôi sẽ đề cập đến hai ví dụ, một ví dụ có trình đơn thả xuống đơn giản và một ví dụ khác có trình đơn thả xuống nhiều lựa chọn. Chúng tôi sẽ sử dụng trang web demo ToolsQA để tự động hóa các tình huống này. Bây giờ chúng ta hãy nhanh chóng bắt đầu *thả xuống/*tự động hóa nhiều lựa chọn

Ví dụ 1- Xử lý dropdown sử dụng Selenium WebDriver

Trường hợp sử dụng của chúng tôi sẽ làm theo các bước dưới đây-

  • Khởi chạy trình duyệt
  • Mở "https. // demoqa. com/chọn-menu"
  • Chọn Menu Chọn kiểu cũ bằng cách sử dụng id phần tử
  • In tất cả các tùy chọn của danh sách thả xuống
  • Chọn 'Tím' bằng cách sử dụng chỉ mục
  • Sau đó, chọn 'Magenta' bằng văn bản hiển thị
  • Chọn một tùy chọn sử dụng giá trị
  • Đóng trình duyệt

Sử dụng các phương pháp Chọn lớp như đã thảo luận ở trên, mã sẽ giống như bên dưới-

// Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 3

Khi thực thi mã, bạn sẽ nhận thấy rằng các lựa chọn thả xuống được thực hiện theo phương thức chọn được sử dụng và cửa sổ bảng điều khiển sẽ in các tùy chọn như hình bên dưới

Vì vậy, theo cách này, chúng tôi có thể chọn và xác thực các giá trị trong danh sách thả xuống cho phép chọn một lần

Ví dụ 2- Xử lý đa lựa chọn bằng Selenium WebDriver

Để tự động hóa đa lựa chọn bằng lớp Chọn của Selenium WebDriver, chúng tôi sẽ sử dụng trường hợp sử dụng sau

  • Khởi chạy trình duyệt
  • Mở "https. // demoqa. com/chọn-menu"
  • Chọn Đa lựa chọn tiêu chuẩn bằng cách sử dụng id phần tử
  • Xác minh rằng phần tử là đa lựa chọn
  • Chọn 'Opel' bằng cách sử dụng chỉ mục và bỏ chọn tương tự bằng cách sử dụng chỉ mục
  • Chọn 'Saab' sử dụng giá trị và bỏ chọn giá trị sử dụng tương tự
  • Bỏ chọn tất cả các tùy chọn
  • Đóng trình duyệt

Chúng tôi sẽ sử dụng cả phương thức chọn và bỏ chọn của lớp Chọn để tự động hóa phần tử đa lựa chọn. Mã sẽ giống như dưới đây-

// Create object of the Select class Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']"))); // Select the option by index se.selectByIndex(3); 4

Đoạn mã trên khi thực thi sẽ chọn và bỏ chọn nhiều tùy chọn từ đa lựa chọn và in các tùy chọn đa lựa chọn, như hình bên dưới

Bạn có thể chọn nhiều tùy chọn, giống như chúng tôi đã chọn tất cả các tùy chọn từ hộp chọn nhiều theo yêu cầu của bạn. Giờ đây, bạn có thể sử dụng các phương thức lớp Chọn khác nhau trong tự động hóa Selenium và dễ dàng tự động hóa danh sách thả xuống hoặc hộp chọn nhiều mục để dễ dàng thực hiện

Làm cách nào để xử lý trình đơn thả xuống div trong Selenium Python?

Tạo WebDriverWait () và element_to_be_clickable () và nhấp vào phần tử div Tất cả đánh giá để mở menu thả xuống, sau đó chọn các mục dựa trên văn bản .

Làm cách nào để xử lý danh sách thả xuống div trong Selenium?

Làm theo các bước bên dưới để tìm giá trị đã chọn từ danh sách thả xuống. .
Tạo đối tượng của lớp Chọn và chuyển webelement vào đây. Trình đơn thả xuống WebElement=trình điều khiển. .
Trong lớp Select có phương thức getFirstSelectedOption(). .
Sử dụng phương thức getText() chúng ta có thể tìm thấy giá trị văn bản của tùy chọn này. .
In giá trị này

Làm cách nào để tìm phần tử div trong Selenium Python?

Để tìm Phần tử HTML theo thuộc tính id sử dụng Selenium trong Python, gọi phương thức find_element() và chuyển By. ID làm đối số đầu tiên và giá trị của thuộc tính id ((của Phần tử HTML chúng ta cần tìm)) làm đối số thứ hai.

Làm cách nào để xử lý danh sách thả xuống trong Selenium mà không chọn lớp?

Các phương pháp khác nhau để xử lý Dropdown trong Selenium mà không cần sử dụng Select Class .
Phương pháp 1. Bằng cách lưu trữ tất cả các tùy chọn trong Danh sách và lặp qua nó
Phương pháp 2. Bằng cách tạo Trình định vị tùy chỉnh và không lặp lại Danh sách
Phương pháp 3. Bằng cách sử dụng lớp JavaScriptExecutor
Phương pháp 4. Bằng cách sử dụng phương thức sendKeys

Chủ đề