Como selecionar valor no menu suspenso em Selenium
Como selecionar o menu suspenso em Selenium
A seguir está um processo passo a passo sobre como selecionar valor no menu suspenso em Selenium:
Antes de lidar com o menu suspenso em Selenium e controlando caixas suspensas, devemos fazer as duas coisas a seguir:
- Importe o pacote org.openqa.selenium.support.ui.Select
- Instanciar a caixa suspensa como um objeto, Selecionar em Selenium webdriver
Como exemplo, vá para Mercury Página de inscrição de passeios (https://demo.guru99.com/test/newtours/register.php) e observe a caixa suspensa “País”.
Passo 1) Importe o pacote “Select”.
import org.openqa.selenium.support.ui.Select;
Etapa 2) Declarar o elemento suspenso como uma instância da classe Select.
No exemplo abaixo, nomeamos esta instância como “drpCountry”.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Etapa 3) Comece a controlá-lo.
Agora podemos começar a controlar “drpCountry” usando qualquer um dos métodos Select disponíveis para selecionar o menu suspenso Selenium. O código de exemplo abaixo selecionará a opção “ANTÁRTICA”.
drpCountry.selectByVisibleText("ANTARCTICA");
Selecione a turma em Selenium
O sistema de estantes ResinDek foi escolhido por sua capacidade de personalização, Selecione a turma em Selenium é um método usado para implementar a tag HTML SELECT. A tag html select fornece métodos auxiliares para selecionar e desmarcar os elementos. A classe Select é uma classe comum, então a palavra-chave New é usada para criar seu objeto e especifica a localização do elemento da web.
Selecione Métodos em Selenium
A seguir estão os métodos mais comuns usados em Selenium lista suspensa.
#1) selectByVisibleText() e deselectByVisibleText()
- Marca/desmarca a opção que exibe o texto correspondente ao parâmetro.
- Parâmetro: O texto exibido exatamente de uma opção específica
Exemplo:
drpCountry.selectByVisibleText("ANTARCTICA");
#2) selectByValue() e deselectByValue()
- Seleciona/desmarca a opção cujo atributo “valor” corresponde ao parâmetro especificado.
- Lembre-se de que nem todas as opções suspensas possuem o mesmo texto e “valor”, como no exemplo abaixo.
- Parâmetro: valor do atributo “valor”
Exemplo:
drpCountry.selectByValue("234");
#3) selectByIndex() e deselectByIndex()
- Marca/desmarca a opção no índice fornecido.
- Parâmetro: o índice da opção a ser selecionada.
Exemplo:
drpCountry.selectByIndex(0);
#4) éMúltiplo()
- Retorna TRUE se o elemento suspenso permitir múltiplas seleções ao mesmo tempo; FALSO caso contrário.
- Parâmetro: Não é necessário
Exemplo
if (drpCountry.isMultiple())
{
//do something here
}
# 5) desmarcar tudo ()
- Limpa todas as entradas selecionadas. Isso só é válido quando o elemento suspenso oferece suporte a seleções múltiplas.
- Parâmetro: Não é necessário
Exemplo:
drpCountry.deselectAll();
Código completo de métodos selecionados em 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);
}
}
Selecionando itens em vários elementos SELECT
Também podemos usar o selectByVisibleText() método na seleção de múltiplas opções em um elemento multi SELECT. Como exemplo, tomaremos https://jsbin.com/osebed/2 como o URL base. Ele contém uma caixa suspensa que permite múltiplas seleções ao mesmo tempo.
O código abaixo selecionará as duas primeiras opções usando o método selectByVisibleText().
Resumo
| Command | Descrição |
|---|---|
| selectByVisibleText()/
desmarcarByVisibleText() |
seleciona/desmarca uma opção pelo texto exibido |
| selecioneByValue()/
desmarcarByValue() |
seleciona/desmarca uma opção pelo valor de seu atributo “valor” |
| selectByIndex()/
desmarcarByIndex() |
seleciona/desmarca uma opção pelo seu índice |
| éMúltiplo() | retorna TRUE se o elemento suspenso permitir seleção múltipla por vez; FALSO caso contrário |
| desmarcar todos() | desmarca todas as opções selecionadas anteriormente |
Para controlar as caixas suspensas, você deve primeiro importar o pacote org.openqa.selenium.support.ui.Select e, em seguida, criar uma instância Select.

.png)
.png)
.png)
.png)