Explication détaillée sur l'utilisation du sélénium
Explication détaillée de l'utilisation du sélénium
*Le sélénium est principalement utilisé pour les tests automatisés et prend en charge plusieurs navigateurs. Il est principalement utilisé dans les robots d'exploration pour résoudre les problèmes de rendu JavaScript.
Simulez le navigateur pour charger la page Web. Lorsque les requêtes et urllib ne peuvent pas obtenir le contenu de la page Web normalement*
1 Déclarez l'objet navigateur
Notez un, le nom du fichier Python Ou. ne nommez pas le nom du package sélénium, ce qui entraînerait l'impossibilité d'importer
from selenium import webdriver
webdriver peut être considéré comme le pilote du navigateur. Pour piloter le navigateur, webdriver doit être utilisé. . Voici Chrome à titre d'exemple
browser = webdriver.Chrome()
2. Visitez la page et obtenez le html de la page Web
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.taobao.com') print(browser.page_source) # browser.page_source是获取网页的全部htmlbrowser.close()
3.
Élément unique
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.taobao.com') input_first = browser.find_element_by_id('q') input_second = browser.find_element_by_css_selector('#q') input_third = browser.find_element_by_xpath('//*[@id="q"]') print(input_first,input_second,input_third) browser.close()
Méthodes de recherche communes
find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name find_element_by_class_name find_element_by_css_selector
Vous pouvez également utiliser la méthode générale
from selenium import webdriverfrom selenium.webdriver.common.by import By browser = webdriver.Chrome() browser.get('https://www.taobao.com') input_first = browser.find_element(BY.ID,'q')#第一个参数传入名称,第二个传入具体的参数print(input_first) browser.close()
Éléments multiples, éléments multiples s
input_first = browser.find_elements_by_id('q')
4. Interaction avec les éléments - entrez des mots-clés dans le champ de recherche pour la recherche automatique
from selenium import webdriver import timebrowser = webdriver.Chrome() browser.get('https://www.taobao.com') input = browser.find_element_by_id('q')#找到搜索框input.send_keys('iPhone')#传送入关键词time.sleep(5) input.clear()#清空搜索框input.send_keys('男士内裤') button = browser.find_element_by_class_name('btn-search')#找到搜索按钮button.click()
Plus d'opérations : http://selenium-python. readthedocs.io/api.html #module-selenium.webdriver.remote.webelement#Peut avoir des attributs, des captures d'écran, etc.
5. Actions interactives, piloter le navigateur pour effectuer des actions, simuler le glisser et supprimer des actions et attacher des actions à la chaîne d'actions Exécution en série
from selenium import webdriverfrom selenium.webdriver import ActionChains#引入动作链browser = webdriver.Chrome() url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url) browser.switch_to.frame('iframeResult')#切换到iframeResult框架source = browser.find_element_by_css_selector('#draggable')#找到被拖拽对象target = browser.find_element_by_css_selector('#droppable')#找到目标actions = ActionChains(browser)#声明actions对象actions.drag_and_drop(source, target) actions.perform()#执行动作
Plus d'opérations : http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common .action_chains
6. Exécuter JavaScript
Certaines actions peuvent ne pas fournir d'API, comme la liste déroulante de la barre de progression. À l'heure actuelle, nous pouvons exécuter JavaScript via le code
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.zhihu.com/explore') browser.execute_script('window.scrollTo(0, document.body.scrollHeight)') browser.execute_script('alert("To Bottom")')
Obtenir les attributs
from selenium import webdriverfrom selenium.webdriver import ActionChains browser = webdriver.Chrome() url = 'https://www.zhihu.com/explore'browser.get(url) logo = browser.find_element_by_id('zh-top-link-logo')#获取网站logoprint(logo) print(logo.get_attribute('class')) browser.close()
from selenium import webdriver browser = webdriver.Chrome() url = 'https://www.zhihu.com/explore'browser.get(url) input = browser.find_element_by_class_name('zu-top-add-question') print(input.text)#input.text文本值browser.close()
from selenium import webdriver browser = webdriver.Chrome() url = 'https://www.zhihu.com/explore'browser.get(url) input = browser.find_element_by_class_name('zu-top-add-question') print(input.id)#获取idprint(input.location)#获取位置print(input.tag_name)#获取标签名print(input.size)#获取大小browser.close()
8. Fonctionnement du cadre le cadre est équivalent à une page Web indépendante. Si vous recherchez une sous-catégorie dans le cadre réseau de la catégorie parent, vous devez basculer vers le cadre de la sous-catégorie. Si la sous-catégorie recherche la catégorie parent, vous devez également passer à
from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementException browser = webdriver.Chrome() url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url) browser.switch_to.frame('iframeResult') source = browser.find_element_by_css_selector('#draggable') print(source)try: logo = browser.find_element_by_class_name('logo')except NoSuchElementException: print('NO LOGO') browser.switch_to.parent_frame() logo = browser.find_element_by_class_name('logo') print(logo) print(logo.text)
9 En attente
Attente impliciteLorsque l'attente implicite est utilisée. pour exécuter le test, si WebDriver ne trouve pas l'élément dans le DOM, il continuera à attendre au-delà du temps défini. Ensuite, une exception indiquant que l'élément est introuvable est levée,
En d'autres termes, lorsque l'élément est trouvé. ou l'élément n'apparaît pas immédiatement, l'attente implicite attendra un certain temps avant de chercher dans le DOM. Le temps par défaut est 0
from selenium import webdriver browser = webdriver.Chrome() browser.implicitly_wait(10)#等待十秒加载不出来就会抛出异常,10秒内加载出来正常返回browser.get('https://www.zhihu.com/explore') input = browser.find_element_by_class_name('zu-top-add-question') print(input)
Spécifiez une condition d'attente et une attente maximale. temps. Le programme jugera si la condition est satisfaite dans le temps d'attente. Si elle est satisfaite, elle reviendra. Si elle n'est pas satisfaite, elle continuera à attendre. Si le temps est dépassé, elle lancera une exception.
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC browser = webdriver.Chrome() browser.get('https://www.taobao.com/')wait = WebDriverWait(browser, 10) input = wait.until(EC.presence_of_element_located((By.ID, 'q'))) button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.btn-search'))) print(input, button)
title_is 标题是某内容 title_contains 标题包含某内容 presence_of_element_located 元素加载出,传入定位元组,如(By.ID, 'p') visibility_of_element_located 元素可见,传入定位元组 visibility_of 可见,传入元素对象 presence_of_all_elements_located 所有元素加载出 text_to_be_present_in_element 某个元素文本包含某文字 text_to_be_present_in_element_value 某个元素值包含某文字 frame_to_be_available_and_switch_to_it frame加载并切换 invisibility_of_element_located 元素不可见 element_to_be_clickable 元素可点击 staleness_of 判断一个元素是否仍在DOM,可判断页面是否已经刷新 element_to_be_selected 元素可选择,传元素对象 element_located_to_be_selected 元素可选择,传入定位元组 element_selection_state_to_be 传入元素对象以及状态,相等返回True,否则返回False element_located_selection_state_to_be 传入定位元组以及状态,相等返回True,否则返回False alert_is_present 是否出现Alert
import timefrom selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.baidu.com/') browser.get('https://www.taobao.com/') browser.get('https://www.python.org/') browser.back()time.sleep(1) browser.forward() browser.close()
La gestion des onglets ajoute un navigateur. fenêtre
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.zhihu.com/explore') print(browser.get_cookies()) browser.add_cookie({'name': 'name', 'domain': 'www.zhihu.com', 'value': 'germey'}) print(browser.get_cookies()) browser.delete_all_cookies() print(browser.get_cookies())
import timefrom selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.baidu.com') browser.execute_script('window.open()') print(browser.window_handles) browser.switch_to_window(browser.window_handles[1]) browser.get('https://www.taobao.com')time.sleep(1) browser.switch_to_window(browser.window_handles[0]) browser.get('http://www.fishc.com')
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.baidu.com') browser.find_element_by_id('hello')from selenium import webdriverfrom selenium.common.exceptions import TimeoutException, NoSuchElementException browser = webdriver.Chrome()try: browser.get('https://www.baidu.com')except TimeoutException: print('Time Out')try: browser.find_element_by_id('hello')except NoSuchElementException: print('No Element')finally: browser.close()
Recommandations associées :
Comment effectuer une conversion 2D via CSS3Explication détaillée des variables et de la portée JavaScriptExplication détaillée des paramètres de la méthode $.ajax()
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tutoriel d'installation de PyCharm : apprenez facilement à installer Selenium, des exemples de code spécifiques sont nécessaires. En tant que développeurs Python, nous devons souvent utiliser diverses bibliothèques et outils tiers pour terminer le développement de projets. Parmi eux, Selenium est une bibliothèque très couramment utilisée pour les tests automatisés et les tests d'interface utilisateur des applications Web. En tant qu'environnement de développement intégré (IDE) pour le développement Python, PyCharm nous offre un moyen pratique et rapide de développer du code Python, alors comment

Développement Laravel : Comment utiliser LaravelDusk et Selenium pour tester le navigateur ? À mesure que les applications Web deviennent plus complexes, nous devons nous assurer que toutes leurs parties fonctionnent correctement. Les tests de navigateur sont une méthode de test courante utilisée pour garantir l'exactitude et la stabilité d'une application sous différents navigateurs. Dans le développement Laravel, vous pouvez utiliser LaravelDusk et Selenium pour tester le navigateur. Cet article expliquera comment utiliser ces deux outils pour tester

Utilisation de Selenium et PhantomJSScrapy dans le robot d'exploration Scrapy Scrapy est un excellent framework de robot d'exploration Web sous Python et a été largement utilisé dans la collecte et le traitement de données dans divers domaines. Dans la mise en œuvre du robot, il est parfois nécessaire de simuler les opérations du navigateur pour obtenir le contenu présenté par certains sites Web. Dans ce cas, Selenium et PhantomJS sont nécessaires. Selenium simule les opérations humaines sur le navigateur, nous permettant d'automatiser les tests d'applications Web

Présentation de l'utilisation de Selenium pour les tests d'automatisation Web : les tests d'automatisation Web sont une partie essentielle du processus de développement logiciel moderne. Selenium est un puissant outil de test automatisé qui peut simuler les opérations des utilisateurs dans un navigateur Web et mettre en œuvre des processus de test automatisés. Cet article expliquera comment utiliser Selenium pour les tests d'automatisation Web et sera accompagné d'exemples de code pour aider les lecteurs à démarrer rapidement. Préparation de l'environnement Avant de commencer, vous devez installer la bibliothèque Selenium et le pilote du navigateur Web

1. Idée de vérification du curseur L'objet curseur de l'objet testé ressemble à ceci. Relativement parlant, il s'agit d'un formulaire relativement simple. Vous devez faire glisser le puzzle de gauche via le curseur ci-dessous et l'intégrer dans l'emplacement vide de droite pour terminer la vérification. Pour automatiser ce processus de vérification, le point clé est de déterminer la distance de glissement du curseur. Selon l'analyse ci-dessus, le point clé de la vérification est de déterminer la distance de glissement du curseur. Mais une exigence apparemment simple n’est pas simple à remplir. Si vous utilisez la logique naturelle pour analyser ce processus, il peut être décomposé comme suit : 1. Localisez la position du puzzle sur la gauche Puisque la forme et la taille du puzzle sont fixes, il vous suffit de localiser la distance qui les sépare. bordure gauche et le côté gauche de l’image d’arrière-plan. (En fait, dans cet exemple, la position de départ du puzzle est également fixe, économisant

Avec le développement rapide de la technologie Internet, les applications Web sont de plus en plus utilisées dans notre travail et notre vie quotidienne. Dans le processus de développement d’applications Web, l’exploration des données des pages Web est une tâche très importante. Bien qu’il existe de nombreux outils de web scraping sur le marché, ces outils ne sont pas très efficaces. Afin d'améliorer l'efficacité de l'exploration des données des pages Web, nous pouvons utiliser la combinaison de PHP et Selenium. Tout d’abord, nous devons comprendre ce que sont PHP et Selenium. PHP est un puissant

Étapes pour installer Selenium avec pycharm : 1. Ouvrez PyCharm ; 2. Sélectionnez "Fichier", "Paramètres", "Projet : [Nom du projet]" dans la barre de menu ; 3. Sélectionnez Interpréteur de projet ; l'onglet « + » ; 5. Recherchez Selenium dans la fenêtre contextuelle ; 6. Recherchez Selenium et cliquez sur le bouton « Installer » à côté de celui-ci ; 7. Attendez la fin de l'installation ; 8. Fermez la boîte de dialogue des paramètres.

1. Qu'est-ce que Selenium Web Crawler est une technique très utile en programmation Python, qui vous permet d'obtenir automatiquement des données sur les pages Web. Selenium est un outil de test automatisé qui peut simuler les opérations des utilisateurs dans le navigateur, telles que cliquer sur des boutons, remplir des formulaires, etc. Contrairement aux bibliothèques d'exploration couramment utilisées telles que BeautifulSoup et les requêtes, Selenium peut gérer le contenu chargé dynamiquement par JavaScript. Par conséquent, Selenium est un choix très approprié pour les données qui doivent être obtenues en simulant l'interaction de l'utilisateur. 2. Installez Selenium Pour utiliser Selenium, vous devez d'abord l'installer. Vous pouvez utiliser la commande pip pour installer
