Как разбить "выбрать другое изображение" CAPTCHA с Python - PullRequest
0 голосов
/ 06 апреля 2020

Итак, у меня есть этот код в Python3, который очищает данные с веб-сайтов посредством распознавания объектов (я использовал это для автоматизации процесса загрузки с веб-сайта на базе игрока FL sh) и Selenium. Проблема в том, что я застрял на этом веб-сайте, на котором есть изготовленная на заказ капча, где пользователь должен выбрать другое изображение из группы, и я не знаю, как загрузить или получить эти изображения с сайта, чтобы определить другой, кто-нибудь решил такую ​​проблему? или есть идея, как решить эту капчу любым другим методом или методом?

Это логин с CAPTCHA

А вот ссылка на сайт который находится в испанском sh. Капча в основном говорит: «Выберите другое изображение» https://portalempresas.sb.cl/login.php

Спасибо!

1 Ответ

0 голосов
/ 06 апреля 2020

Чтобы загрузить эти изображения в виде png-файлов, вы можете сделать:

from io import BytesIO
from PIL import Image

# Download image function
def downloadImage(element,imgName):
    img = element.screenshot_as_png
    stream = BytesIO(img)
    image = Image.open(stream).convert("RGB")
    image.save(imgName)

# Find all the web elements of the captcha images    
image_elements = driver.find_elements_by_xpath("*//div[contains(@class,'captcha-image')]")

# Output name for the images
image_base_name = "Imagen_[idx].png"

# Download each image
for i in range(len(image_elements)):
    downloadImage(image_elements[i],image_base_name.replace("[idx]","%s"%i))    

Пожалуйста, дайте мне знать, если это помогло! Saludos desde México !!

Редактировать 1:

Если вы хотите сравнить 2 изображения, чтобы увидеть, равны ли они, вы можете попробовать это сообщение

Редактировать 2:

Используя решение, отредактированное выше, это результаты:

captcha1 captcha1 captcha1 captcha1 captha2

...