Как выбрать несколько элементов с помощью класса действий в Selenium с помощью Java?

Опубликовано: 22 Февраля, 2023

Selenium — это инструмент веб-автоматизации с открытым исходным кодом, который поддерживает множество действий пользователя, выполняемых в веб-браузере. Автоматизируя веб-страницу с загрузкой файлов или другими функциями, требующими выбора нескольких элементов, для выполнения нескольких действий выбора селен предоставляет класс под названием Actions. Класс Action предоставляет метод для действий клавиатуры. Действия, предоставляемые этим классом, выполняются API, называемым расширенным взаимодействием с пользователем в веб-драйвере selenium.

Как выбрать несколько элементов?

Обычно мы нажимаем кнопку управления (ctrl) и выбираем несколько элементов. Класс Actions также обеспечивает такой же подход к выбору нескольких элементов. Класс Actions предоставляет действия Keyboards, которые используются для нажатия и нажатия клавиши управления и щелчка по нескольким элементам, после чего элемент управления (ctrl) будет нажат. Для этого мы используем действия клавиатуры и клавиши в селене.

keyDown(Keys.CONTROL)
   .click(element1)
   .click(element2)
   .build();

Это используется для выбора нескольких элементов на веб-странице, для этого нам нужно использовать класс Actions,

Actions action=new Actions(driver);

После создания объекта для класса действий нам нужно использовать метод Action для выполнения ряда действий.

Action seriesOfActions = (Action) action.keyDown(Keys.CONTROL)
   .click(element1)
   .click(element2)
   .build();

Теперь эта серия действий выполняется путем вызова метода Perform().

seriesOfActions.perform();

Пример:

В этом примере программы мы переходим на веб-сайт и пытаемся выбрать несколько элементов.

Java




public class Geeks {
    public void geekforgeeks() throws InterruptedException {
  
        ChromeDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.get("https://jqueryui.com/selectable/");
        WebElement iframe=driver.findElement(By.tagName("iframe"));
        driver.switchTo().frame(iframe);
        WebElement element1=driver.findElement(By.xpath("//li[contains(text(),"Item 1")]"));
        WebElement element2=driver.findElement(By.xpath("//li[contains(text(),"Item 2")]"));
        Actions action=new Actions(driver);
        Action seriesOfActions = (Action) action.keyDown(Keys.CONTROL)
                .click(element1)
                .click(element2)
                .build();
        seriesOfActions.perform();
        Thread.sleep(3000);
        driver.close();        
        
    }
}

Этот код перейдет на веб-страницу и выберет первые два элемента. Это выполняется с помощью « keyDown (Keys. CONTROL)», он используется для нажатия и удержания клавиши управления (ctrl), а затем выполняются операции щелчка. Вывод этого кода,

Выход: