Скрипт, по открытию сайта и нажатия на нужный цвет(капча)
нужен скрипт, который будет выполнять запрос на определенный сайт, там есть 6 цветов (красный, желтый, синий, серый, черный и зеленый) Как только он находит нужный цвет(Они могут быть разные), тоесть выглядит так же думаю все понятно, вот код, который я сделал, но я не думаю, что он работает, в чем проблема? так же хочу представить скрин с html кодом
from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from PIL import Image
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import io
import os
vpn_extension_path = 'C:/Users/******/AppData/Local/Google/Chrome/User Data/Default/Extensions/hipncndjamdcmphkgngojegjblibadbe/1.11.7_0'
#Тут тебе нужно будет указать путь до расширения впн, я уже все так то сделал, главное установи https://chrome.google.com/webstore/detail/free-vpn-proxy-and-ad-blo/hipncndjamdcmphkgngojegjblibadbe?hl=ru
#И замени на себя в USERS
chrome_options = ChromeOptions()
options = Options()
chrome_options.add_argument('--load-extension={}'.format(vpn_extension_path))
options.add_argument('--ignore-certificate-errors')
chromedriver = ChromeService(ChromeDriverManager().install())
driver = Chrome(service=chromedriver, options=chrome_options)
driver.get("https://rutor.live") #Адрес сайта
#ИСПОЛЬЗОВАТЬ С ВПН
screenshot = driver.get_screenshot_as_png()
screenshot = Image.open(io.BytesIO(screenshot))
width = driver.execute_script("return document.documentElement.scrollWidth")
height = driver.execute_script("return document.documentElement.scrollHeight")
for x in range(screenshot.size[0]):
for y in range(screenshot.size[1]):
pixel = screenshot.getpixel((x, y))
pixel_color = tuple(list(pixel)[:3][::-1])
if pixel_color in [(0, 0, 0), (255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (128, 128, 128), (34, 143, 92)]:
actions = ActionChains(driver)
actions.move_to_element_with_offset(driver.find_element(By.XPATH, "//*[@id='content']/div"), x, y)
actions.click()
actions.perform()