Toimintaluokka sisään Selenium
⚡ Älykäs yhteenveto
Toimintaluokka sisään Selenium käsittelee edistyneitä näppäimistö- ja hiiritoimintoja, kuten hiiren osoittimen käyttöä, vetämistä ja pudottamista, hiiren kakkospainikkeen napsautusta ja näppäinyhdistelmiä Advanced User Interactions API:n kautta. Tässä tutoriaalissa selitetään Actions- ja Action-luokat, näppäinmetodit ja useiden vuorovaikutusten ketjuttaminen yhdeksi sarjaksi.

Toimintaluokka sisään Selenium
Toimintaluokka sisään Selenium on sisäänrakennettu ominaisuus näppäimistö- ja hiiritoimintojen käsittelyyn. Se tukee toimintoja, kuten useita napsautuksia Ctrl-näppäimellä, vetämistä ja pudottamista ja monia muita. Nämä toiminnot suoritetaan käyttämällä Advanced User Interactions API:a Selenium WebDriver.
Näppäimistö- ja hiiritapahtumien käsittely
Näppäimistö- ja hiiritoimintojen käsittely tapahtuu käyttämällä Advanced User Interactions API. Se sisältää Toiminnot ja Toiminta luokat, joita tarvitaan näiden tapahtumien suorittamiseen. Yleisimmin käytetyt Actions-luokan tarjoamat näppäimistö- ja hiiritapahtumat on lueteltu alla.
| Menetelmä | Tuotetiedot |
|---|---|
| clickAndHold() | Napsautukset (vapauttamatta) hiiren nykyisessä sijainnissa. |
| kontekstiClick() | Suorittaa kontekstinapsautuksen (hiiren kakkospainikkeen napsautuksen) hiiren nykyisessä sijainnissa. |
| doubleClick() | Suorittaa kaksoisnapsautuksen hiiren nykyisessä paikassa. |
| vedäAndDrop(lähde, kohde) | Napsauta ja pidä pohjassa lähde-elementtiä, siirry kohde-elementtiin ja vapauta sitten hiiripainike. Parametrit: lähde (painettava elementti), kohde (vapautettava elementti). |
| dragAndDropBy(lähde, x-offset, y-offset) | Napsauta ja pidä pohjassa lähdeelementtiä, siirrä elementtiä annetun siirtymän verran ja vapauta. Parametrit: lähde, xOffset (vaakasuora), yOffset (pystysuora). |
| keyDown(muokkausavain) | Painaa muokkausnäppäintä vapauttamatta sitä, joten myöhemmät toiminnot olettavat sen pysyvän painettuna. Parametri: muokkausnäppäin (Keys.ALT, Keys.SHIFT tai Keys.CONTROL). |
| keyUp(muokkaaja_avain) | Vapauttaa muokkausnäppäimen. Parametri: muokkausnäppäin (Keys.ALT, Keys.SHIFT tai Keys.CONTROL). |
| moveByOffset(x-offset, y-offset) | Siirtää hiiren osoittimen nykyisestä sijainnistaan (tai kohdasta 0,0) annetun siirtymän verran. Negatiivinen x siirtää hiiren osoittimen vasemmalle; negatiivinen y siirtää hiiren osoittimen ylöspäin. |
| siirrä elementtiin (elementtiin) | Siirtää hiiren elementin keskelle. Parametri: elementti, johon siirretään. |
| vapauttaa () | Vapauttaa painetun hiiren vasemman painikkeen nykyisessä sijainnissa. |
| sendKeys(onElement, merkkisekvenssi) | Lähettää sarjan näppäinpainalluksia elementille. Parametrit: onElement (yleensä tekstikenttä), charsequence (lähetettävät näppäinpainallukset). |
Seuraavassa esimerkissä käytämme moveToElement() tapa viettää hiiri jonkin päälle Mercury Tours-taulukon rivit.
Yllä oleva solu on osa elementti. Kun hiirellä ei viitä solun päälle, sen väri on #FFC455 (oranssi). Kun hiirellä viivästetään solun päälle, sen väri muuttuu läpinäkyväksi ja vastaa ympäröivän taulukon taustaa.
Vaihe 1) Tuo Toiminnot ja Toiminta luokat.
Vaihe 2) Luo uusi Actions-objekti.
Vaihe 3) Luo toiminto vaiheessa 2 luodun Actions-objektin avulla.
Tässä käytämme moveToElement() tapa viedä hiiri "Etusivu"-linkin päälle. build() metodia kutsutaan aina viimeisenä, jotta kaikki luetellut toiminnot kootaan yhdeksi vaiheeksi.
Vaihe 4) Käytä perform() menetelmä vaiheessa 3 suunnitellun toiminto-objektin suorittamiseksi.
Alla on täydellinen WebDriver-koodi, joka tarkistaa taustavärin elementti ennen hiiren osoittamista sen päälle ja sen jälkeen.
package newproject;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
public class PG7 {
public static void main(String[] args) {
String baseUrl = "https://demo.guru99.com/test/newtours/";
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get(baseUrl);
WebElement link_Home = driver.findElement(By.linkText("Home"));
WebElement td_Home = driver.findElement(By.xpath(
"//html/body/div/table/tbody/tr/td"
+ "/table/tbody/tr/td"
+ "/table/tbody/tr/td"
+ "/table/tbody/tr"));
Actions builder = new Actions(driver);
Action mouseOverHome = builder.moveToElement(link_Home).build();
String bgColor = td_Home.getCssValue("background-color");
System.out.println("Before hover: " + bgColor);
mouseOverHome.perform();
bgColor = td_Home.getCssValue("background-color");
System.out.println("After hover: " + bgColor);
driver.close();
}
}
Alla oleva tuloste osoittaa, että taustaväri muuttui läpinäkyväksi hiiren osoittimen viemisen jälkeen.
Useiden toimien sarjan rakentaminen
Voit rakentaa sarjan toimintoja käyttämällä Action- ja Actions-luokkia. Muista päättää sarja luokalla build() menetelmä. Tarkastellaan alla olevaa esimerkkikoodia.
public static void main(String[] args) {
String baseUrl = "https://www.facebook.com/";
WebDriver driver = new FirefoxDriver();
driver.get(baseUrl);
WebElement txtUsername = driver.findElement(By.id("email"));
Actions builder = new Actions(driver);
Action seriesOfActions = builder
.moveToElement(txtUsername)
.click()
.keyDown(txtUsername, Keys.SHIFT)
.sendKeys(txtUsername, "hello")
.keyUp(txtUsername, Keys.SHIFT)
.doubleClick(txtUsername)
.contextClick()
.build();
seriesOfActions.perform();
}





