[PYTHON] Web-Stamping-Automatisierung mit Chrome

Überblick

Es war mühsam, den Computer jeden Morgen zu starten, Chrome zu öffnen und zu stempeln, also habe ich ihn automatisiert.

Was du vorbereitet hast

· Windows 8.1 · Google Chrome ・ Python 3 ・ Selen ・ ChromeWebDriver

Es tut mir leid, dass ich mich nicht an die Versionen erinnere, aber sie sollten alle die neuesten Versionen ab Juni 2019 sein.

WebDriver vorbereiten

Laden Sie die Windows-Version von ChromeDriver für Ihre Chrome-Version von [hier] herunter (https://chromedriver.chromium.org/downloads "ChromeDriver"). Wenn die Chrome-Version beispielsweise 78 ist, ist der Chrome-Treiber 78. Für andere Betriebssysteme laden Sie bitte die andere Betriebssystemversion herunter.

Platzieren Sie den heruntergeladenen Chrome-Treiber an einem geeigneten Ort. (Im Projektordner direkt unter C usw.)

Implementierung

Implementieren Sie in Python wie folgt.

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

#Element (konstant)
ELEMENT_CLASS = "btnSTART"

#Webdriver wird geladen
driver = webdriver.Chrome(executable_path="Ort, an dem du gegangen bist/chromedriver.exe")

#Starten Sie Chrome und springen Sie zur angegebenen URL
driver.get("https://www.clockin.hoge.jp")

#Warten Sie, bis es angezeigt wird
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()

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

Wenn der Proxy nicht automatisieren kann

Wenn Sie einen Proxy haben und keine Verbindung herstellen können, ohne sich jedes Mal anzumelden, wird diese beim Starten von Chrome beendet. Es kann mithilfe einer Erweiterung namens SwitchyOmega automatisiert werden. Ich werde keine detaillierte Verwendung schreiben, aber wenn Sie bei laufendem Switchy Omega darauf zugreifen und Proxy-Einstellungen hinzufügen, wird ein Benutzerordner erstellt. Beschreiben Sie dies als Option beim Laden des WebDrivers.

Implementierung

clockinproxy.py



#Webdriver wird geladen(chrome_options=Option ist ein zusätzlicher Teil)
driver = webdriver.Chrome(executable_path="./chromedriver.exe", chrome_options=option)

#Halte für einen Moment inne
time.sleep(1)

#Starten Sie Chrome und springen Sie zur angegebenen URL
driver.get("https://www.clockin.hoge.jp")

Aufgrund des Proxy-Authentifizierungsprozesses springt der Bildschirm manchmal nicht zur angegebenen URL und der Bildschirm wird leer. Wenn Sie daher etwa 1 Sekunde lang mit dem Ruhezustand aufhören, wird problemlos zur URL gesprungen.

Referenz

・ Https://qiita.com/memakura/items/20a02161fa7e18d8a693 Ich habe es als Referenz für die Bearbeitung der Elemente auf der Seite verwendet.

Recommended Posts

Web-Stamping-Automatisierung mit Chrome
Kompromisse beim Web Scraping & Crawlen
UI-Automatisierung Teil 2 in Python
Pythonweb Scraping-Get-Elemente in loser Schüttung
Klicken Sie auf die Web-API in Python
Webcodierer versucht Excel in Python