π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ ΠΏΠΎ Π½Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ ΠΏΠΎ Π½Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ PyAutoGUI.
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PyAutoGUI
pip install pyautogui
import pyautogui
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅
button_position = pyautogui.locateOnScreen('button.png')
# ΠΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅
pyautogui.click(button_position)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ PyAutoGUI, Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΅Π΅ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ locateOnScreen, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 'button.png'). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ click, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ ΠΏΠΎ Π½Π΅ΠΉ Python?
Python - ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ»ΠΈΠΊ Π½Π° Π½Π΅ΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Selenium
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Selenium. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Selenium, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
pip install selenium
Π¨Π°Π³ 2: ΠΠΌΠΏΠΎΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Selenium, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠ΅ Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
Π¨Π°Π³ 3: ΠΠ°ΠΏΡΡΠΊ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ ΠΎΡΠΊΡΡΡΡ Π½ΡΠΆΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Selenium Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ.
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°
driver = webdriver.Chrome("ΠΏΡΡΡ_ΠΊ_ΡΠ°ΠΉΠ»Ρ_Π΄ΡΠΉΠ²Π΅ΡΠ°_chrome")
# ΠΡΠΊΡΡΡΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
driver.get("url_Π²Π΅Π±_ΡΡΡΠ°Π½ΠΈΡΡ")
# ΠΠΎΠΈΡΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ Π΅Π΅ Π°ΡΡΠΈΠ±ΡΡΡ id
button = driver.find_element(By.ID, "id_ΠΊΠ½ΠΎΠΏΠΊΠΈ")
# ΠΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅
button.click()
Π¨Π°Π³ 4: ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΊΠ»ΠΈΠΊ
ΠΠ½ΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΡΡΠ° ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ. Π§ΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΠΊΠ»ΠΈΠΊΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅.
# ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΡΠ°Π½Π΅Ρ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½ΠΎΠΉ
wait = WebDriverWait(driver, 10)
button = wait.until(EC.element_to_be_clickable((By.ID, "id_ΠΊΠ½ΠΎΠΏΠΊΠΈ")))
# ΠΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅
button.click()
Π¨Π°Π³ 5: ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π·Π°ΠΊΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ:
# ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
driver.quit()
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°
driver = webdriver.Chrome("ΠΏΡΡΡ_ΠΊ_ΡΠ°ΠΉΠ»Ρ_Π΄ΡΠΉΠ²Π΅ΡΠ°_chrome")
# ΠΡΠΊΡΡΡΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
driver.get("url_Π²Π΅Π±_ΡΡΡΠ°Π½ΠΈΡΡ")
# ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΡΠ°Π½Π΅Ρ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½ΠΎΠΉ
wait = WebDriverWait(driver, 10)
button = wait.until(EC.element_to_be_clickable((By.ID, "id_ΠΊΠ½ΠΎΠΏΠΊΠΈ")))
# ΠΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅
button.click()
# ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
driver.quit()
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ² Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ»ΠΈΠΊ Π½Π° Π½Π΅ΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Python. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°.