Selenium est un outil d'automatisation Web open source bien connu, utilisé par de nombreuses personnes. Mais parfois, il a des problèmes pour interagir avec certains éléments ; peut-être qu'un popup inattendu empêche le pilote Web d'effectuer ses actions et génère des résultats incorrects. C'est là que JavascriptExecutor joue un rôle clé dans ce scénario, permettant au pilote Web d'effectuer avec succès les opérations requises. Sa complexité et sa soudaineté facilitent la gestion de la situation.
À l'aide d'une interface appelée JavascriptExecutor, il est possible d'exécuter du JavaScript via Selenium et d'interagir avec HTML dans le navigateur lors de l'utilisation de ce langage de programmation. Il est nécessaire d'utiliser des objets JavascriptExecutor pour créer des structures de phrases de longueur et de complexité variables, essentielles à une composition attrayante. phrases. Le texte est crucial. Ainsi, JavaScript Executor fournit un moyen de communiquer avec HTML dans un navigateur Web, tout en permettant également aux programmeurs d'utiliser leur propre style d'écriture JavaScript pour créer des expressions intelligentes et flexibles.
Voici les méthodes fournies par JavascriptExecutor dans Selenium :
La traduction chinoise deExécuter du JavaScript dans la fenêtre ou le cadre actuellement choisi n'a jamais été aussi simple ! En appelant une fonction anonyme, cette méthode permet aux utilisateurs de récolter les fruits d'une multitude de types de données, notamment −
Éléments Web
Listes
Cordes
Longue
Booléen
ExécuterAsyncScript
L'exécution JavaScript asynchrone est une approche multithread pour exécuter des tâches JavaScript individuelles dans la fenêtre ou le cadre actuel. Elle permet de poursuivre l'analyse des pages, d'optimiser les performances et d'offrir une grande flexibilité en décomposant le code en composants facilement identifiables avec une complexité et un contexte variables. La clé pour atteindre cet objectif. Cette approche consiste à créer des segments concis dans certaines zones tout en s'adaptant à des sections plus longues et complexes dans d'autres parties. Avec cette méthode, le JavaScript asynchrone est exécuté de manière efficace et optimisée.
Apprenez à utiliser JavascriptExecutorÉtape 1 - Importer le colis
import org.openqa.selenium.JavascriptExecutor;
Étape 2 - Créer une référence
javascriptExecutor js = (JavascriptExecutor) driver;
Étape 3 - Appeler la méthode JavascriptExecutor
js.executeScript(script, args);
// importing the package Import org.openqa.selenium.JavascriptExecutor; // creating a reference JavascriptExecutor js = (JavascriptExecutor) driver; // calling the method js.executeScript(script, args);
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("location.reload()");
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("document.getElementByID(‘element id ’).value = ‘xyz’;");
JavascriptExecutor js = (JavascriptExecutor)driver; Js.executeScript("alert(‘hello world’);");
avascriptExecutor js = (JavascriptExecutor)driver; string sText = js.executeScript("return document.documentElement.innerText;").toString();
avascriptExecutor js = (JavascriptExecutor)driver; string sText = js.executeScript("return document.title;").toString();
JavascriptExecutor js = (JavascriptExecutor)driver; //Vertical scroll – down by 150 pixels js.executeScript("window.scrollBy(0,150)");
Explication
import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.edge.EdgeDriver; public class waytoclass { public static void main(String args[]) { System.setProperty( "webdriver.edge.driver", "C:\Users\ADMIN\Documents\Selenium\msedgedriver.exe"); // Instantiate a Driver class. WebDriver driver = new EdgeDriver(); // Maximize the browser driver.manage().window().maximize(); // Launch Website driver.get("https://www.waytoclass.com/"); WebElement java = driver.findElement( By.xpath("//*[@id="hslider"]/li[6]/a")); // Create a reference JavascriptExecutor js = (JavascriptExecutor)driver; // Call the JavascriptExecutor methods js.executeScript("arguments[0].click();", java); } }
Starting MSEdgeDriver 98.0.1108.56 (9a336a18ae89157b3c7ea0568a9cbced8ebc3f7) on port 55401 Only local connections are allowed. Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping MSEdgeDriver safe. MSEdgeDriver was started successfully.
REMARQUE - Après avoir affiché le résultat ci-dessus, le site Web s'ouvrira automatiquement et cliquera sur l'élément.
Conclusion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!