In questo segmento del tutorial discuteremo in modo dettagliato javascriptexecutor in selenio e tutte le probabili operazioni potrebbero essere eseguite utilizzando javascriptexecutor in selenio in termini di WebAutomation.
Cos'è javascriptexecutor nel selenio
Nella libreria Selenium javascriptexecutor è un'interfaccia che viene implementata diverse classi come ChromeDriver, FirefoxDriver, RemoteWebDriver, EdgeDriver, EventFiringWebDriver, InternetExplorerDriver ecc. Per supportare diverse operazioni relative a Javascript verso i rispettivi driver del browser.

Tipi di Java Script in Selenium e suoi metodi:
Sono disponibili due diversi tipi di metodi JavaScript:
Differenza tra executeAsyncScript ed executeScript:
eseguiAsyncScript : Questo tipo di esecutore di java script viene utilizzato per eseguire un codice JavaScript asincrono nel contesto del frame o della finestra attualmente selezionati.
executeScript: Questo tipo di scriptexecutor Java che fondamentalmente esegue codice JavaScript sincrono nel contesto del frame o della finestra attualmente selezionati.
Operazione che potrebbe essere eseguita utilizzando l'esecutore javascript in selenio:
Esistono varie operazioni Web cruciali che si ottengono eseguendo Javascript nel driver del browser per ottenere determinate operazioni come:
Parliamo di tutte le operazioni sopra menzionate:
Clic javascript selenio
Possiamo eseguire operazioni di clic in Selenium con operazioni Javascript nell'approccio seguente:
public void jsClick() { elemento WebElement = driver.findElement(By.xpath("Xpath_OF_Element")); JavascriptExecutor jscriptExecutor = driver (JavascriptExecutor); jscriptExecutor.executeScript("arguments[0].click();", element); }
Selenio javascript inserisci testo
Possiamo eseguire l'operazione sendkeys in Selenium con l'operazione Javascript nell'approccio seguente:
public void jsSendKeys() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) driver; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').value='ENTER_THE_TEXT_HERE';"); }
Casella di controllo javascript selenio
Potremmo usare l'opzione controllato= true o false a seconda dei casi d'uso per eseguire le operazioni CheckBox con Javascript in Selenium.
public void jsCheckBoxOps() { JavascriptExecutor jscriptExecutor = driver (JavascriptExecutor); jscriptExecutor.executeScript("document.getElementById('id_of_the_element').checked=false;"); }
Generazione di avvisi javascript al selenio
Per generare l'avviso dobbiamo utilizzare "avviso ('ALERT_TEXT_TO_BE_SHOWN');"Durante l'esecuzione dell'operazione con Javascript.
public void jsAlertGeneration() { JavascriptExecutor jscriptExecutor= driver (JavascriptExecutor); jscriptExecutor.executeScript("alert('ALERT_TEXT_TO_BE_SHOWN');"); }
Pagina di aggiornamento javascript selenio
Per aggiornare una pagina web in Selenium con Javascript Executor possiamo usare history.go (0).
public void jsRefreshPage() { JavascriptExecutor jscriptExecutor= driver (JavascriptExecutor); jscriptExecutor.executeScript("history.go(0)"); }
JavaScript selenio per ottenere il testo interno della pagina web
Per recuperare l'intero testo interno possiamo usare documento.documentElement.innerText;
public String jsFetchInnerText() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver; return String.valueOf(jscriptExecutor.executeScript("return document.documentElement.innerText;")); }
Selenio javascript ottiene il titolo della pagina
Per restituire il titolo di una pagina possiamo usare titolo del documento; insieme a Javascript Executor in Selenium.
public String jsWebPageTitle() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver; return String.valueOf(jscriptExecutor.executeScript("return document.title;")); }
JavaScript selenio per ottenere il dominio
Per estrarre il nome di dominio che possiamo usare documento.dominio;
public String jsFetchDomain() { JavascriptExecutor jscriptExecutor= driver (JavascriptExecutor); return String.valueOf(jscriptExecutor.executeScript("return document.domain;")); }
JavaScript selenio per ottenere l'URL di una pagina web
Per recuperare l'URL utilizzando JavaScript Executor con Selenium potremmo usare documento.URL;
public String jsFetchURL() { JavascriptExecutor jscriptExecutor= driver (JavascriptExecutor); return String.valueOf(jscriptExecutor.executeScript("return document.URL;")); }
Selenio javascript Scorrimento di una pagina web
Possiamo eseguire lo scorrimento in diversi modi utilizzando Javascript, due degli approcci sono mostrati di seguito nello snippet di codice come:
public void scrollIntoView(By locator) { try { JavascriptExecutor executor = driver (JavascriptExecutor); Elemento WebElement = driver.findElement(localizzatore); executor.executeScript("arguments[0].scrollIntoView(true);", elemento); BASE_LOGGER .info("l'operazione di scorrimentoIntoView è stata eseguita per il locator: " + String.valueOf(elemento)); } catch (Eccezione e) { Stringa exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Errore riscontrato ie : " +exceptionData + " durante l'esecuzione di scrollIntoView sull'elemento: " + locator); } }
Inoltre possiamo specificare il valore di scorrimento (quantità di scorrimento) come questo seguente approccio:
public void jsScroll() { JavascriptExecutor jscriptExecutor= driver (JavascriptExecutor); jscriptExecutor.executeScript("window.scrollBy(0,1000)"); }
JavaScript selenio per navigare in una pagina diversa
Possiamo navigare in una pagina web / schermata diversa fornendo direttamente la posizione dell'URL all'interno del javascriptexecutor in Selenium.
public void pageNavigationWithJS() { JavascriptExecutor jscriptExecutor= driver (JavascriptExecutor); jscriptExecutor.executeScript("window.location = 'PageURL_To_Navigate'"); }
Selenio javascript Per trovare e fare clic su un elemento nascosto
Potremmo fare clic direttamente sull'elemento nascosto con il Javascript dal backend anche se l'elemento non è visibile, ecco lo snippet di codice per lo stesso:
public void clickOnHiddenElement() { JavascriptExecutor jscriptExecutor= driver (JavascriptExecutor); WebElement hiddenElement=driver.findElement(By.id("ID_OF_ELEMENT")); jscriptExecutor.executeScript("arguments[0].click();", hiddenElement); }
Conclusione:
Finora abbiamo discusso del Javascript e delle varie operazioni da eseguire utilizzando l'esecutore Javascript in Selenium, sei incoraggiato a passare attraverso il tutorial completo sul selenio per avere una migliore presa su tutti i diversi aspetti dello stesso. Nella prossima serie di Segments of Tutorial discuteremo di più sul Selenio Automazione Framework e altre tecnologie più recenti per lavorare con Selenium e risolvi qualsiasi intervista avanzata in Selenium che puoi passare qui.