Comment configurer Selenium pour qu'il fonctionne avec Python? Je veux juste écrire/exporter des scripts en Python, puis les exécuter. Existe-t-il des ressources qui m'apprendront comment faire cela? J'ai essayé de googler, mais les informations que j'ai trouvées faisaient référence à une version obsolète de Selenium (RC) ou à une version obsolète de Python.
Vous voulez dire Selenium WebDriver? Hein ....
Prérequis: Installer Python en fonction de votre système d'exploitation
Installer avec la commande suivante
pip install -U Selenium
Et utilisez ce module dans votre code
from Selenium import webdriver
Vous pouvez également utiliser plusieurs des éléments suivants selon vos besoins
from Selenium.webdriver.common.by import By
from Selenium.webdriver.support.ui import Select
from Selenium.common.exceptions import NoSuchElementException
Je vous recommande de lancer le script sans IDE ... Voici mon approche
Un exemple ci-dessous montre l'automatisation de la page de connexion
#ScriptName : Login.py
#---------------------
from Selenium import webdriver
#Following are optional required
from Selenium.webdriver.common.by import By
from Selenium.webdriver.support.ui import Select
from Selenium.common.exceptions import NoSuchElementException
baseurl = "http://www.mywebsite.com/login.php"
username = "admin"
password = "admin"
xpaths = { 'usernameTxtBox' : "//input[@name='username']",
'passwordTxtBox' : "//input[@name='password']",
'submitButton' : "//input[@name='login']"
}
mydriver = webdriver.Firefox()
mydriver.get(baseurl)
mydriver.maximize_window()
#Clear Username TextBox if already allowed "Remember Me"
mydriver.find_element_by_xpath(xpaths['usernameTxtBox']).clear()
#Write Username in Username TextBox
mydriver.find_element_by_xpath(xpaths['usernameTxtBox']).send_keys(username)
#Clear Password TextBox if already allowed "Remember Me"
mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).clear()
#Write Password in password TextBox
mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).send_keys(password)
#Click Login button
mydriver.find_element_by_xpath(xpaths['submitButton']).click()
Il y a une autre façon de trouver xpath de n'importe quel objet -
Script de lancement -
python Login.py
Vous pouvez également utiliser un sélecteur CSS au lieu de xpath. Les sélecteurs CSS sont légèrement plus rapides que xpath dans la plupart des cas, et sont généralement préférés à xpath (s'il n'y a pas d'attribut ID sur les éléments avec lesquels vous interagissez).
Firepath peut également capturer le localisateur de l'objet en tant que sélecteur CSS si vous déplacez le curseur sur l'objet. Vous devrez mettre à jour votre code pour utiliser la méthode équivalente de recherche par sélecteur CSS à la place -
find_element_by_css_selector(css_selector)
Il existe de nombreuses sources pour Selenium - en voici une bonne pour une utilisation simple Selenium , et voici un exemple d'extrait de code aussi Exemples de Selenium
Vous pouvez trouver beaucoup de bonnes sources pour utiliser Selenium, ce n'est pas si difficile de le configurer et de commencer à l'utiliser.