Cómo seleccionar todos los valores desplegables usando Selenium WebDriver

Hola,

No creo que haya una opción para seleccionar todas las opciones desplegables de una vez. Por lo tanto, deberá escribir manualmente una línea de código select () para cada elemento desplegable que desee elegir del elemento desplegable.

Los pasos que debe realizar son: –

  1. Cree un nuevo objeto para manejar un elemento desplegable.
    Seleccionar menú desplegable = nuevo Seleccionar (driver.findElement (By.id (” element-id “)));
  2. Compruebe si el elemento permite seleccionar múltiples opciones del menú desplegable.
    if (dropdown.isMultiple ()
    {
    dropdown.selectByVisibleText (” texto de opción1 visible “);
    dropdown.selectByVisibleText (” texto2-opción-visible “);
    dropdown.selectByVisibleText (” texto-opción-visible-3 “);
    }
    más
    {
    system.out.Println (“No se pueden seleccionar varias opciones”);

Tenga en cuenta que, en lugar de ByVisibleText , también puede usar ById o ByValue.

Espero que la respuesta ayude 🙂

Si desea aprender este concepto con un poco más de detalle, puede ver este video tutorial de Selenium en el que trabajé: Tutorial de Selenium WebDriver – Comience con Selenium | Edureka

O bien, mira este video de YouTube:

Feliz aprendizaje 🙂

Pasos para seleccionar todas las opciones desplegables:

  1. Encuentre el elemento web SELECT por webdriver.
  2. Crear Seleccionar clase que se utiliza para operar la lista desplegable.
  3. Obtenga todas las opciones en la lista desplegable.
  4. Recorra la lista de opciones, obtenga el valor de cada opción y use Select.selectByValue (optionValue) para seleccionarla.
  5. Luego se ha seleccionado toda la opción desplegable.

El siguiente artículo tiene el ejemplo de código para implementar el escenario anterior.

http://www.dev2qa.com/select-dro

Depende de los elementos DOM, porque hay varias formas de implementar el menú desplegable y de la misma manera hay varias formas de manejarlo con selenio.

Tomo el escenario más genérico de selección múltiple del ejemplo de w3schools, espero que lo ayude, eche un vistazo al siguiente código de trabajo,

driver.get (“Tryit Editor v3.5”);

Thread.sleep (4000);

driver.switchTo (). frame (driver.findElement (By.id (“iframeResult”)));

Thread.sleep (4000);

WebElement carsDropdown = driver.findElement (By.name (“cars”));

// carsDropdown.click (); // Haga clic en desplegable para expandir las opciones según sus necesidades.

List allValues ​​= driver.findElements (By.tagName (“opción”));

para (WebElement ele: allValues)

{

System.out.println (ele.getText ());

ele.click ();

Acción acciones = nuevas acciones (controlador);

action.sendKeys (Keys.COMMAND) .build (). perform ();

Thread.sleep (2000);

}

Use CSS para capturar el menú desplegable:

css
public void adminViaDropDownByName () {
Por byCss = By.cssSelector (“# dropdown2> option [name = ‘admin’]”);
driver.findElement (byCss) .click ();
}

Lea algunos conceptos básicos en el libro anterior sobre la asignación de CSS a código.

puedo seleccionar el valor mediante .selectByXXX (YYY); pero el elemento desplegado del cuadro desplegable no cambia, ¿puede sugerir esto?

Mi página es como abajo


Mi código es el siguiente
Seleccione producttypedropdown = new Select (getWebElement (producttypedropdownelement));
Cadena seleccionada = producttypedropdown.getFirstSelectedOption (). GetText ();
System.out.println (seleccionado);
// establece el tipo de búsqueda
if (! “3M Stock #”. es igual a (seleccionado) && “MMMSTOCK” .equals (productType))
{
getWebElement (producttypedropdownelement) .click ();
System.out.println (“en stock de 3 m”);
producttypedropdown.selectByValue (“MMMSTOCK”);
// producttypedropdown.selectByVisibleText (“3M Stock #”);
System.out.println (“3 millones de acciones seleccionadas”);
selected = producttypedropdown.getFirstSelectedOption (). getText ();
System.out.println (“seleccionado” + seleccionado);
}

Puedo ver que la salida seleccionada se modifica según los requisitos, pero el menú desplegable no se modifica

Para DatePicker

nuevo Select (driver.findElement (By.xpath (“.//*[@ id = ‘SclStaffDetails_gender’]”))). selectByVisibleText (“Male”);
// Insertar fecha de cumpleaños
((JavascriptExecutor) driver) .executeScript (“document.getElementById (‘dp1’). RemoveAttribute (‘readonly’, 0);”);
WebElement BirthDateBox = driver.findElement (By.xpath (“.//*[@ id = ‘dp1’]”));
        BirthDateBox.sendKeys (“8/12/1986”);

Para desplegable Valor fijo

nuevo Select (driver.findElement (By.xpath (“.//*[@ id = ‘SclStaffDetails_job_type’]”))). selectByVisibleText (“Permanente”);

Este fragmento de código a continuación puede ayudarlo a lograr lo que desea, ya que se trata de seleccionar todos los valores uno por uno y durante cada selección de valores realizar las operaciones deseadas que desee, por lo tanto, el siguiente código podría funcionar para su caso.

WebElement departmentdropddele = driver.findElement (By.tagName (“select”));
departmentdropddele.click (); // a la primera vez, haga clic y abra el menú desplegable
List alldropddvalues ​​= driver.findElements (By.tagName (“opción”));

para (int i = 0; i {
action.moveToElement (driver.findElement (By.xpath (“// option [@ value = ‘string:” + (i + 1) + “‘]”))). build (). perform ();
action.sendKeys (Keys.ENTER) .build (). perform ();
explicitWait (2000);
printallitemsforadept ();
departmentdropddele.click (); // para hacer clic y abrir el menú desplegable por segunda vez y hasta la última (según el número de valores de dd)
action.sendKeys (Keys.ARROW_DOWN) .build (). perform (); // presionando la flecha hacia abajo para forzar a Selenium a moverse al siguiente valor en el menú desplegable
}

Aquí está el enlace para leer el manejo desplegable en Selenium
así que por favor lea en este enlace

Cómo manejar el menú desplegable en WebDriver

No he trabajado en Selenium Webdriver, pero esto podría ayudarte.

http: // software-testing-tutorial

Puede seleccionar la opción del menú desplegable de tres maneras.

1. Seleccione por texto
2. Seleccione por valor
3. Seleccione por índice

Vea la descripción completa y use el siguiente enlace.

¿Cómo seleccionar la opción del menú desplegable Selenium webdriver? – Probador de software amigo

More Interesting

Quiero construir un navegador desde cero. ¿Cómo debo hacer esto? El uso de motores de renderizado disponibles también es una opción disponible.

Quiero ser desarrollador web. ¿Qué debo aprender?

Cómo agregar un cuadro similar a Facebook a mi sitio web en Blogger

Soy nuevo en el desarrollo web y me gustaría aprender tanto front-end como back-end. ¿Cuál es la mejor pila para aprender? ¿Cómo se comparan Node.js y Express.js con Java? ¿Puede Node.js hacer todo lo que un back-end de Java puede hacer en términos de escala, confiabilidad, seguridad, etc.?

¿Cómo se edita el código de otro sitio web y se ejecuta en mi propio sitio web?

Quiero crear un sitio web que comparta blogs de viajes y experiencias de viaje. ¿Alguna guía para ello?

Estoy empezando a desarrollar sitios web con WordPress. Estoy pensando en comprar el marco Genesis. ¿Qué debería estar considerando?

Quiero mover el contenido de un sitio autohospedado a WordPress. ¿Afectará mi clasificación y qué medidas debo tomar?

Tengo problemas para comprender cómo encaja JavaScript en la creación de aplicaciones web. ¿Es JavaScript tan universal como HTML y CSS?

Tengo problemas con los algoritmos básicos de JavaScript en Free Code Camp. ¿Debo aprender en otro lugar o continuar con Free Code Camp?

Cómo alojar páginas JSP

Soy principiante en Java. ¿Cómo puedo construir una aplicación basada en cliente-servidor?

Quiero desarrollar un sitio web para una escuela. ¿Qué tecnología o CMS debería preferirse?

¿Soy considerado un programador si soy desarrollador web?

Si tengo un sitio web receptivo existente codificado principalmente en html5, CSS y Java (sin php), ¿cómo puedo agregar un blog de wordpress al sitio sin convertirlo en un tema de wp? ¿Hay buena documentación sobre esto? Solo quiero que la sección del blog sea wp.