Maison >interface Web >js tutoriel >Comment exécuter JavaScript dans Selenium avec Python : pourquoi GetEval ne fonctionne pas et comment utiliser execute_script ?

Comment exécuter JavaScript dans Selenium avec Python : pourquoi GetEval ne fonctionne pas et comment utiliser execute_script ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 15:27:02558parcourir

How to Execute JavaScript in Selenium with Python: Why GetEval Doesn't Work and How to Use execute_script?

Comment exécuter JavaScript dans Selenium à l'aide de Python

Dans Selenium, vous pouvez rencontrer des situations dans lesquelles vous devez exécuter JavaScript afin d'interagir avec une application Web. Examinons un scénario spécifique et comment l'aborder.

Code d'origine et problème :

Considérez l'extrait de code suivant :

<code class="python">from selenium.webdriver import Firefox
browser = Firefox()

# Code to navigate to a webpage and locate elements...

# Attempt to execute JavaScript
selenium.GetEval("submitForm('patchCacheAdd',1,{'event':'ok'});return false")
browser.close()</code>

Cependant, ce code entraînera une erreur car l'attribut 'GetEval' n'existe pas dans le module 'selenium'.

Solution :

Pour exécuter JavaScript dans Selenium en utilisant Python, vous devez utiliser la méthode execute_script fournie par la classe webdriver. Cette méthode vous permet de transmettre un extrait de code JavaScript sous forme de chaîne et de le faire exécuter dans le contexte du navigateur.

Code mis à jour :

<code class="python">from selenium.webdriver import Firefox
browser = Firefox()

# Code to navigate to a webpage and locate elements...

# Execute JavaScript
browser.execute_script("submitForm('patchCacheAdd',1,{'event':'ok'});return false")
browser.close()</code>

En utilisant la méthode execute_script , vous pouvez exécuter avec succès le JavaScript souhaité et interagir avec la page Web selon vos besoins.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn