Maison > développement back-end > Tutoriel Python > Comment utiliser Selenium WebDriver en Python

Comment utiliser Selenium WebDriver en Python

PHPz
Libérer: 2023-05-08 22:31:56
avant
2422 Les gens l'ont consulté

    Premiers pas avec Selenium WebDriver

    1. Qu'est-ce que Selenium WebDriver

    WebDriver pilote le navigateur de manière localisée, tout comme l'utilisateur le fait localement ou sur une machine distante utilisant le serveur Selenium, ce qui marque le navigateur Un grand pas en avant en automatisation.

    Selenium WebDriver fait référence à l'implémentation de la liaison de langage et de chaque code de contrôle du navigateur. Ceci est souvent appelé WebDriver.

    Selenium WebDriver est une recommandation du W3C.

    • WebDriver est conçu pour être une interface de programmation simple et concise.

    • WebDriver est une API simple orientée objet.

    • Il pilote efficacement le navigateur.

    2. Installez Selenium WebDriver

    L'environnement utilisé dans cet article est le navigateur python3.11 + win10 64 bits + Firefox, donc le pilote de navigateur utilisé dans cet article est le geckodriver de Firefox. choisissez Utilisez simplement votre propre pilote de navigateur correspondant.

    2.1 Installez la bibliothèque de classes Selenium

    Le moyen le plus simple est de l'installer directement à l'aide de pip

    pip install selenium
    Copier après la connexion

    Comment utiliser Selenium WebDriver en Python

    2.2 Installez le pilote du navigateur

    Grâce à WebDriver, Selenium prend en charge tous les principaux navigateurs du marché, tels que Chrome, Firefox , et Internet Explorer, Edge et Safari. WebDriver essaie d'utiliser la prise en charge d'automatisation intégrée du navigateur pour piloter le navigateur.

    Étant donné que toutes les implémentations de pilotes, à l'exception d'Internet Explorer, sont fournies par les fournisseurs de navigateurs eux-mêmes, elles ne sont pas incluses dans le Selenium standard. distribution. Ces pilotes sont inclus. Cette section présente les exigences de base pour l'utilisation de différents navigateurs.

    Ouvrez l'URL suivante https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/install_drivers/

    Trouvez le. Lien de téléchargement du pilote de navigateur, vous pouvez voir ici plusieurs pilotes de navigateur pris en charge par Selenium. Téléchargez simplement le pilote correspondant pour le navigateur installé sur votre ordinateur, choisissez donc le pilote Firefox.

    Comment utiliser Selenium WebDriver en Python

    Cliquez sur le lien de téléchargement du pilote Firefox et accédez à la page des versions de github. Vous pouvez voir les pilotes de chaque version. Cet article est win10 64 bits. J'ai choisi geckodriver-v0.32.0-win-aarch74.zip. .Selon le vôtre, sélectionnez simplement le fichier correspondant dans votre système.

    Comment utiliser Selenium WebDriver en Python

    Après décompression, il s'agit d'un fichier exécutable, comme indiqué ci-dessous :

    Comment utiliser Selenium WebDriver en Python

    2.3 Configurer les variables d'environnement

    Ouvrir Poste de travail->Propriétés->Paramètres système avancés->Variables d'environnement, double- cliquez sur chemin, cliquez sur Nouveau, entrez le répertoire où se trouve le pilote geckodriver.exe, puis cliquez complètement sur OK.

    Comment utiliser Selenium WebDriver en Python

    Comment utiliser Selenium WebDriver en Python

    Comment utiliser Selenium WebDriver en Python

    Vérification simple, ouvrez une nouvelle console, entrez le nom du fichier du pilote, voici geckodriver.exe, s'il peut être ouvert normalement

    Comment utiliser Selenium WebDriver en Python

    Bien sûr, il y a Yeluzi, juste placez le pilote directement dans le dossier Scripts de votre répertoire Python et vous pourrez l'ouvrir directement lors de l'exécution du script Python. Par exemple, mon répertoire est D:PythonPython311Scripts

    3. Écrivez le premier script Selenium

    Après avoir terminé l'installation de Selenium et l'installation du pilote, vous pouvez commencer à écrire des scripts Selenium.

    Tout ce que Selenium fait, c'est envoyer des commandes au navigateur pour effectuer certaines actions ou envoyer des demandes d'informations. La plupart des choses que vous ferez avec Selenium sont une combinaison des commandes de base suivantes :

    1 Utiliser l'instance de pilote ouvre une session

    .
     driver = webdriver.Firefox()
    Copier après la connexion

    2. Effectuer des opérations sur le navigateur
    Dans cet exemple, nous naviguons vers une page Web.

     driver.get("https://www.selenium.dev/selenium/web/web-form.html")
    Copier après la connexion

    3. Demander des informations sur le navigateur
    Vous pouvez demander une série d'informations sur le navigateur, y compris les poignées de fenêtre, la taille/la position du navigateur. , cookies, alertes, etc.

     title = driver.title
    Copier après la connexion

    4. Construisez une stratégie d'attente
    La synchronisation du code avec l'état actuel du navigateur est l'un des plus grands défis de Selenium, et bien le faire est un sujet avancé. assurez-vous que l'élément est sur la page avant d'essayer de le positionner et qu'il est interactif avant d'essayer d'interagir avec lui. L'attente implicite est rarement la meilleure solution, mais elle est plus simple à démontrer ici

     driver.implicitly_wait(0.5)
    Copier après la connexion

    5.发送命令 查找元素
    大多数Selenium会话中的主要命令都与元素相关, 如果不先找到元素, 就无法与之交互

     text_box = driver.find_element(by=By.NAME, value="my-text")
     submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
    Copier après la connexion

    6.操作元素
    对于一个元素, 只有少数几个操作可以执行, 但您将经常使用它们

     text_box.send_keys("Selenium")
     submit_button.click()
    Copier après la connexion

    7.获取元素信息

     value = message.text
    Copier après la connexion

    8.结束会话
    这将结束驱动程序进程, 默认情况下, 该进程也会关闭浏览器. 无法向此驱动程序实例发送更多命令

     driver.quit()
    Copier après la connexion

    让我们将这8个部分组合成一个完整的脚本, 包括需要使用的库

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    def test_eight_components():
        driver = webdriver.Firefox()
    
        driver.get("https://www.selenium.dev/selenium/web/web-form.html")
    
        title = driver.title
        assert title == "Web form"
    
        driver.implicitly_wait(0.5)
    
        text_box = driver.find_element(by=By.NAME, value="my-text")
        submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
    
        text_box.send_keys("Selenium")
        submit_button.click()
    
        message = driver.find_element(by=By.ID, value="message")
        value = message.text
        assert value == "Received!"
    
        driver.quit()
    Copier après la connexion

    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!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    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
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal