Kritische 12 javascriptexecutor-methoden in selenium

In dit deel van de tutorial gaan we javascriptexecutor in selenium op een gedetailleerde manier bespreken en alle mogelijke bewerkingen kunnen worden uitgevoerd met javascriptexecutor in selenium in termen van WebAutomation. 

Wat is javascriptexecutor in selenium 

In de Selenium-bibliotheek is javascriptexecutor een interface die in verschillende klassen wordt geïmplementeerd, zoals ChromeDriver, FirefoxDriver, RemoteWebDriver, EdgeDriver, EventFiringWebDriver, InternetExplorerDriver enz. Om verschillende Javascript-gerelateerde bewerkingen naar de respectieve browserdrivers te ondersteunen.

JavaScript-uitvoerder in Selenium
JavaScript-uitvoerder in Selenium

Typen Javascript in Selenium en zijn methoden: 

Er zijn twee verschillende soorten JavaScript-methoden beschikbaar: 

Verschil tussen executeAsyncScript versus executeScript:

voerAsyncScript uit  : Dit type Java-scriptuitvoerder wordt gebruikt om een ​​asynchrone JavaScript-code uit te voeren in de context van het momenteel geselecteerde frame of venster.

executeScript: Dit type Java scriptexecutor die in feite synchrone JavaScript-code uitvoert in de context van het momenteel geselecteerde frame of venster. 

 

Bewerking die kan worden uitgevoerd met behulp van Javascript-uitvoerder in selenium: 

Er zijn verschillende cruciale webbewerkingen die worden uitgevoerd door Javascript in het browserstuurprogramma uit te voeren om bepaalde bewerkingen te bereiken, zoals: 

Laten we alle hierboven genoemde bewerkingen bespreken: 

Selenium javascript klik 

We kunnen een klikbewerking uitvoeren in Selenium met Javascript-bewerking in de onderstaande benadering: 

public void jsClick() { WebElement element = driver.findElement(By.xpath("Xpath_OF_Element")); JavascriptExecutor jscriptExecutor = (JavascriptExecutor) stuurprogramma; jscriptExecutor.executeScript("argumenten[0].click();", element); }

Selenium javascript voer tekst in

We kunnen sendkeys-bewerkingen uitvoeren in Selenium met Javascript-bewerking in de onderstaande benadering: 

public void jsSendKeys() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) stuurprogramma; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').value='ENTER_THE_TEXT_HERE';"); }

Selectievakje Selenium javascript 

We kunnen optie gebruiken gecontroleerd= waar of onwaar, afhankelijk van de use-cases om de CheckBox-bewerkingen uit te voeren met Javascript in Selenium.

public void jsCheckBoxOps() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) stuurprogramma; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').checked=false;"); }

Selenium javascript Alert generatie

Om de waarschuwing te genereren, moeten we 'alert ('ALERT_TEXT_TO_BE_SHOWN');”Tijdens het uitvoeren van de bewerking met Javascript.

public void jsAlertGeneration() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; jscriptExecutor.executeScript("alert('ALERT_TEXT_TO_BE_SHOWN');"); }

Selenium javascript vernieuwingspagina

Om een ​​webpagina in Selenium te vernieuwen met Javascript Executor die we kunnen gebruiken history.go (0).

public void jsRefreshPage() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; jscriptExecutor.executeScript("history.go(0)"); }

Selenium javascript om de innerlijke tekst van de webpagina te krijgen

Om de hele binnentekst op te halen kunnen we gebruiken document.documentElement.innerText;

public String jsFetchInnerText() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; return String.valueOf(jscriptExecutor.executeScript("return document.documentElement.innerText;")); }

Selenium javascript krijgt de titel van de pagina 

Om de titel van een pagina terug te geven die we kunnen gebruiken document titel; samen met Javascript Executor in Selenium.

public String jsWebPageTitle() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; return String.valueOf(jscriptExecutor.executeScript("return document.title;")); }

Selenium javascript om het domein te krijgen 

Om de domeinnaam te trekken die we kunnen gebruiken document.domein;

public String jsFetchDomain() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; return String.valueOf(jscriptExecutor.executeScript("return document.domain;")); }

Selenium javascript om de URL van een webpagina te krijgen

 

Om de URL op te halen met behulp van JavaScript Executor met Selenium zouden we kunnen gebruiken document.URL;

public String jsFetchURL() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; return String.valueOf(jscriptExecutor.executeScript("return document.URL;")); }

Selenium javascript Scrollen door een webpagina 

We kunnen scrollen op meerdere manieren met Javascript, twee van de benaderingen worden hieronder in het codefragment getoond, zoals:

public void scrollIntoView (By locator) {probeer { JavascriptExecutor executor = (JavascriptExecutor) stuurprogramma; WebElement element = driver.findElement(locator); executor.executeScript("argumenten[0].scrollIntoView(true);", element); BASE_LOGGER .info("scrollIntoView-bewerking is uitgevoerd voor de locator: " + String.valueOf(element)); } catch (Uitzondering e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Fout opgetreden dwz: " + exceptionData + " tijdens het uitvoeren van scrollIntoView op het element: " + locator); } }

We kunnen ook de scrollwaarde (hoeveelheid scrollen) specificeren zoals deze onderstaande benadering:

public void jsScroll() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; jscriptExecutor.executeScript("window.scrollBy(0,1000)"); }

Selenium javascript om naar een andere pagina te navigeren

We kunnen naar een andere webpagina / scherm navigeren door de url-locatie direct in de javascriptexecutor in Selenium op te geven. 

public void pageNavigationWithJS() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; jscriptExecutor.executeScript("window.location = 'PageURL_To_Navigate'"); }

Selenium javascript Om een ​​verborgen element te zoeken en erop te klikken

We konden direct op het verborgen element klikken met de Javascript van de backend, ook al is het element niet zichtbaar, hier is het codefragment voor hetzelfde:

public void clickOnHiddenElement() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) stuurprogramma; WebElement hiddenElement=driver.findElement(By.id("ID_OF_ELEMENT")); jscriptExecutor.executeScript("argumenten[0].click();", hiddenElement); }

Conclusie:

We hebben tot nu toe gesproken over Javascript en verschillende bewerkingen die moeten worden uitgevoerd met behulp van Javascript-uitvoerder in Selenium, u wordt aangemoedigd om de volledige Selenium-tutorial om meer grip te krijgen op alle verschillende aspecten van hetzelfde. In de komende Segments of Tutorial-serie zullen we meer bespreken over de Selenium-automatisering Framework en andere nieuwste technologieën om met Selenium te werken, en om kraak elk geavanceerd interview in Selenium dat je hier kunt doornemen.

Laat een bericht achter