Как скачивать картинку капчи с разной высотой страницы?

AndyS

Client
Регистрация
24.01.2020
Сообщения
17
Благодарностей
3
Баллы
3
Капчу разгадывал скрином инстанса, обрезкой скрина в позиции капчи и т.д. Все норм. Но на одном сайте позиция капчи меняется по высоте(больше-меньше контента) и так я не могу ее поймать.

Подскажите, может есть универсальный способ ее находить и скринить для сохранения на диск? Может как то через xPath ее можно выдергивать...
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 408
Баллы
113
Капчу разгадывал скрином инстанса, обрезкой скрина в позиции капчи и т.д. Все норм. Но на одном сайте позиция капчи меняется по высоте(больше-меньше контента) и так я не могу ее поймать.

Подскажите, может есть универсальный способ ее находить и скринить для сохранения на диск? Может как то через xPath ее можно выдергивать...
Ссылку на сайт и пример каптчи предоставьте.
 

AndyS

Client
Регистрация
24.01.2020
Сообщения
17
Благодарностей
3
Баллы
3

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 408
Баллы
113
Для данного конкретного случая - вот так получает без проблем.
C#:
string path = @"C:\img.jpg"; // Путь куда сохраняем

var captcha = instance.ActiveTab.FindElementByAttribute("img", "src", "/PHPSESSID/", "text", 0); // 0 первая, 1 вторая...
if (captcha.IsVoid) return -1; // не найдена

using (var bmp = new Bitmap(new MemoryStream(Convert.FromBase64String(captcha.DrawToBitmap(true))))){
    bmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg); // сохраняем в файл
}
98177
 
  • Спасибо
Реакции: Shogo, Sanya330 и AndyS

AndyS

Client
Регистрация
24.01.2020
Сообщения
17
Благодарностей
3
Баллы
3
Для данного конкретного случая - вот так получает без проблем.
C#:
string path = @"C:\img.jpg"; // Путь куда сохраняем

var captcha = instance.ActiveTab.FindElementByAttribute("img", "src", "/PHPSESSID/", "text", 0); // 0 первая, 1 вторая...
if (captcha.IsVoid) return -1; // не найдена

using (var bmp = new Bitmap(new MemoryStream(Convert.FromBase64String(captcha.DrawToBitmap(true))))){
    bmp.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg); // сохраняем в файл
}
Посмотреть вложение 98177
Золотой ты человек! Спасибо!
Запишу тебя в свой блокнотик )
 
  • Спасибо
Реакции: BAZAg

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)