[PYTHON] Automatisation de l'estampage Web avec Chrome

Aperçu

Il était difficile de démarrer l'ordinateur tous les matins, d'ouvrir Chrome et de le tamponner, alors je l'ai automatisé.

Ce que vous avez préparé

· Windows 8.1 · Google Chrome ・ Python 3 ・ Sélénium ・ ChromeWebDriver

Je suis désolé de ne pas me souvenir des versions, mais elles devraient toutes être les dernières versions de juin 2019.

Préparation de WebDriver

Téléchargez la version Windows de ChromeDriver pour votre version de Chrome à partir de ici. Par exemple, si la version Chrome est 78, alors le pilote Chrome est 78. Pour les autres systèmes d'exploitation, veuillez télécharger l'autre version du système d'exploitation.

Placez le pilote Chrome téléchargé dans un endroit approprié. (Dans le dossier du projet, directement sous C, etc.)

la mise en oeuvre

Implémentez en Python comme suit.

clockin.py


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import datetime
import time
import sys

#Élément (constant)
ELEMENT_CLASS = "btnSTART"

#chargement du webdriver
driver = webdriver.Chrome(executable_path="Endroit où tu es parti/chromedriver.exe")

#Démarrez Chrome et accédez à l'URL spécifiée
driver.get("https://www.clockin.hoge.jp")

#Attendez qu'il s'affiche
try:
    element = WebDriverWait(driver, 5).until(
        EC.presence_of_element_located((By.CLASS_NAME, ELEMENT_CLASS))
    )
finally:
    if not driver.find_element_by_class_name(ELEMENT_CLASS).is_enabled():
        driver.quit()

#Estampillage
driver.find_element_by_class_name(ELEMENT_CLASS).click()

Si le proxy ne peut pas automatiser

Si vous avez un proxy et que vous ne pouvez pas vous connecter sans vous connecter à chaque fois, il s'arrêtera lorsque vous démarrez Chrome. Il peut être automatisé à l'aide d'une extension appelée SwitchyOmega. Je n'expliquerai pas comment l'utiliser en détail, mais si vous y accédez avec Switchy Omega en cours d'exécution et ajoutez les paramètres de proxy, un dossier utilisateur sera créé. Décrivez cela comme une option lors du chargement du WebDriver.

la mise en oeuvre

clockinproxy.py



#chargement du webdriver(chrome_options=l'option est une pièce supplémentaire)
driver = webdriver.Chrome(executable_path="./chromedriver.exe", chrome_options=option)

#Arrêtez-vous un instant
time.sleep(1)

#Démarrez Chrome et accédez à l'URL spécifiée
driver.get("https://www.clockin.hoge.jp")

En raison du processus d'authentification proxy, parfois l'écran ne saute pas à l'URL spécifiée et l'écran devient vide. Par conséquent, si vous arrêtez de dormir pendant environ 1 seconde, il passera à l'URL sans aucun problème.

référence

・ Https://qiita.com/memakura/items/20a02161fa7e18d8a693 Je l'ai utilisé comme référence pour manipuler les éléments de la page.

Recommended Posts

Automatisation de l'estampage Web avec Chrome
Compromis dans le scraping et l'exploration Web
UI Automation Partie 2 en Python
pythonweb scraping-get éléments en vrac
Accédez à l'API Web en Python
le codeur Web a essayé d'exceller en Python