lists dropdowns drop down java selenium-webdriver

dropdowns - Cómo seleccionar un valor desplegable en Selenium WebDriver usando Java



selenium dropdowns (11)

Como se discutió anteriormente, debemos implementar Select Class en Selenium y además podemos usar varios métodos disponibles, como:

soy nuevo en selenio, actualmente estoy trabajando en Selenium webdriver quiero seleccionar un valor del menú desplegable. Id = periodId y la opción es que estoy intentando seleccionar Últimas 52 semanas.

Aquí está la etiqueta Html:

<select id="periodId" name="period" style="display: none;"> <option value="l4w">Last 4 Weeks</option> <option value="l52w">Last 52 Weeks</option> <option value="daterange">Date Range</option> <option value="weekrange">Week Range</option> <option selected="" value="monthrange">Month Range</option> <option value="yeartodate">Year To Date</option> </select>

Por favor, sugiera algunas formas de hacer clic en el menú desplegable.

Intenté con las líneas de ejemplo anteriores, pero estoy obteniendo un error, como Element, actualmente no está visible y, por lo tanto, no se puede interactuar con Command duration o timeout: 32 milisegundos los valores de drop downs son el formato de widget jquery multiselect


De acuerdo con la respuesta de KodS. Además, debe importar org.openqa.selenium.support.ui.Select; para Seleccionar para trabajar.


En realidad, select selecciona pero no coloca los valores seleccionados en el campo respectivo. Donde se preguntó el fragmento de abajo funciona perfectamente

driver.findElement(By.name("period")).sendKeys("Last 52 Weeks");


No probé en Selenium, pero para Galen, prueba que está funcionando,

var list = driver.findElementByID ("periodID"); // esto devolverá el elemento web

list.click (); // esto abrirá la lista desplegable.

list.typeText ("14w"); // esto seleccionará la opción "14w".

Puedes probar esto en selenio, el trabajo de galen y selenio es similar.


Primero importe el paquete como:

import org.openqa.selenium.support.ui.Select;

luego escribe en una línea como:

new Select (driver.findElement (By.id ("sampleid"))). selectByValue ("SampleValue");


Prueba esto:

driver.findElement(By.name("period")).sendKeys("Last 52 Weeks");


Puede usar los siguientes métodos para manejar el menú desplegable de selenio.

  1. driver.selectByVisibleText ("Texto");
  2. driver.selectByIndex (1);
  3. driver.selectByValue ("prog");

Para obtener más información, puede consultar http://www.codealumni.com/handle-drop-selenium-webdriver/ esta publicación.

Definitivamente lo ayudará mucho a resolver sus dudas.


Si quieres escribir todo en una línea, prueba

new Select (driver.findElement(By.id("designation"))).selectByVisibleText("Programmer ");


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");


código para seleccionar el menú desplegable

Seleccione select = new Select (driver.findElement (By.xpath ("// select [@ id = ''periodId'']));

código para seleccionar la opción particaular

select.selectByVisibleText (últimas 52 semanas);


WebDriver driver = new FirefoxDriver(); WebElement identifier = driver.findElement(By.id("periodId")); Select select = new Select(identifier); select.selectByVisibleText("Last 52 Weeks");