J'ai décidé d'étudier le grattage et j'ai essayé d'utiliser le navigateur avec Selenium, je vais donc le résumer brièvement.
Pour faire fonctionner le navigateur, il est nécessaire de préparer un pilote pour chaque navigateur. Puisque nous utilisons Chrome cette fois, téléchargez ChromeDriver depuis le Site officiel.
Installez le sélénium avec pip
pip install selenium
Navigateur ouvert
webdriver.Chrome(driver_path)
Ouvrir la page Web
#### **`driver.get(URL)`**
```get(URL)
Fermer la page Web
#### **`driver.close()`**
```close()
Quittez le navigateur (fermez toutes les fenêtres)
#### **`driver.quit()`**
```quit()
``` python
from selenium import webdriver
driver = webdriver.Chrome(driver_path)
driver.get(URL)
driver.close()
driver.quit()
Pour accéder à l'élément HTML, vous pouvez spécifier l'élément à partir de l'identifiant, de la classe, du nom, etc. et l'obtenir.
Obtenir par identifiant
driver.find_element_by_id('ID')
Obtenir par classe
#### **`driver.find_element_by_class_name('CLASS_NAME')`**
```find_element_by_class_name('CLASS_NAME')
Obtenir par nom
#### **`driver.find_element_by_name('NAME')`**
```find_element_by_name('NAME')
Obtenir avec le texte du lien
#### **`driver.find_elements_by_link_text('LINK_TEXT')`**
```find_elements_by_link_text('LINK_TEXT')
Obtenez des éléments imbriqués en spécifiant le chemin
#### **`driver.find_elements_by_xpath(".//a")`**
Utilisez la page Web en agissant sur l'élément acquis.
Cliquez sur le bouton
driver.find_element_by_id('Btn').click()
Entrez des caractères dans le formulaire
#### **` driver.find_element_by_name('From').send_keys("text") `**
Souvent, le processus s'exécute et une erreur se produit avant la fin du chargement de l'écran. Vous pouvez attendre quelques secondes que les éléments nécessaires pour gérer cela.
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
WebDriverWait(driver, WAIT_SECOND).until(EC.presence_of_element_located((By.CLASS_NAME, 'Btn')))
Fonctionnons légèrement sur la base de ce qui précède.
Par exemple, si vous souhaitez appuyer sur le bouton d'achat sur un certain site
<Écran>
from selenium import webdriver
driver = webdriver.Chrome(driver_path)
driver.get(URL)
driver.find_element_by_class_name('new_addToCart').click()
driver.quit()
Comme ça, find_element_by_class_name () récupère l'élément et click () provoque l'action de clic.
Entrez un mot-clé de recherche dans la zone de recherche et appuyez sur le bouton de recherche.
<Écran>
from selenium import webdriver
driver = webdriver.Chrome(driver_path)
driver.get(URL)
driver.find_element_by_id('searchWords').send_keys("search text")
driver.find_element_by_id('searchBtn').click()
Cela entrera automatiquement "texte de recherche" dans la zone de recherche et recherche.
Si vous apprenez les opérations de base telles que la pression des boutons et la saisie de texte, vous aurez l'impression que la plupart des opérations sont faciles. Après tout, l'avantage de pouvoir effectuer un traitement parallèle est excellent en effectuant des opérations de navigateur par programme. Cependant, si vous lancez beaucoup de navigateurs, votre PC deviendra extrêmement lourd, vous devez donc faire attention à cela.
Recommended Posts