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.
- driver.selectByVisibleText ("Texto");
- driver.selectByIndex (1);
- 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");