selectelement drop down java selenium webdriver selenium-webdriver

java - drop - selenium webdriver firefox



¿Cómo seleccionar un ítem de una lista desplegable usando Selenium WebDriver con java? (9)

¿Cómo puedo seleccionar un elemento de una lista desplegable como género (por ejemplo, hombre, mujer) usando Selenium WebDriver con Java?

Lo he intentado

WebElement select = driver.findElement(By.id("gender")); List<WebElement> options = select.findElements(By.tagName("Male")); for (WebElement option : options) { if("Germany".equals(option.getText())) option.click(); }

Mi código anterior no funcionó.



Para encontrar ese elemento desplegable en particular

Select gender = new Select(driver.findElement(By.id("gender")));

Para obtener la lista de todos los elementos en el cuadro desplegable

for(int j=1;j<3;j++) System.out.println(gender.getOptions().get(j).getText());

Para seleccionarlo a través de optoion de texto visible

gender.selectByVisibleText("Male");

Para seleccionarlo por índice

gender.selectByIndex(1);


Puede utilizar la clase ''Select'' de WebDriver de selenio publicada por Maitreya. Lo siento, pero estoy un poco confundido acerca de, para seleccionar género de menú desplegable por qué para comparar cadena con "Alemania". Aquí está el fragmento de código,

Select gender = new Select(driver.findElement(By.id("gender"))); gender.selectByVisibleText("Male/Female");

Importar import org.openqa.selenium.support.ui.Select; después de agregar el código anterior. Ahora se seleccionará el género que haya dado (Hombre / Mujer).


Simplemente envuelva su WebElement en Select Object como se muestra a continuación

Select dropdown = new Select(driver.findElement(By.id("identifier")));

Una vez hecho esto, puede seleccionar el valor requerido de 3 maneras. Considere un archivo HTML como este

<html> <body> <select id = "designation"> <option value = "MD">MD</option> <option value = "prog"> Programmer </option> <option value = "CEO"> CEO </option> </option> </select> <body> </html>

Ahora para identificar el menú desplegable

Select dropdown = new Select(driver.findElement(By.id("designation")));

Para seleccionar su opción, diga ''Programador'' que puede hacer

dropdown.selectByVisibleText("Programmer ");

o

dropdown.selectByIndex(1);

o

dropdown.selectByValue("prog");

Happy Coding :)


Tagname debería mencionarse como esa "opción", si el texto con espacio podemos usar este método debería funcionar.

WebElement select = driver.findElement(By.id("gender")); List<WebElement> options = select.findElements(By.tagName("option")); for (WebElement option : options) { if("Germany".equals(option.getText().trim())) option.click(); }


Utilizar -

new Select(driver.findElement(By.id("gender"))).selectByVisibleText("Germany");

Por supuesto, debe import org.openqa.selenium.support.ui.Select;


WebElement select = driver.findElement(By.id("gender")); List<WebElement> options = select.findElements(By.tagName("option")); for (WebElement option : options) { if("Germany".equals(option.getText())) option.click(); }


WebElement selectgender = driver.findElement(By.id("gender")); selectgender.sendKeys("Male");


public class checkBoxSel { public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); EventFiringWebDriver dr = null ; dr = new EventFiringWebDriver(driver); dr.get("http://www.google.co.in/"); dr.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); dr.findElement(By.linkText("Gmail")).click() ; Select sel = new Select(driver.findElement(By.tagName("select"))); sel.selectByValue("fil"); } }

Estoy usando GOOGLE LOGIN PAGE para probar la opción de selección. El ejemplo anterior fue encontrar y seleccionar el idioma "filipino" de la lista desplegable. Estoy seguro de que esto resolverá el problema.