Вопрос по скриншотеру

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
Скриншот видимой части работает как надо, но на некоторых сайтах дает сбой.. в чем может быть причина? Может есть обходные пути..?

Вот например я хочу сделать скрин статьи, webproverka. com/index-articles.php?a_id=423

пролистал до нужно места, даю скриншот видимой части как обычно

ожидается такой результат

76017

а в результате скрин обрезан и выдается вот такой, пока только на этом сайте такое...

76018
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
741
Баллы
113
ролистал до нужно места,
Ключевой момент. Но точно я не знаю, заходишь и делаешь скриншот, получиться скриншот всей страницы. Попробуй не прокручивать
ттттттттттттттт.jpg
Там вроде есть еще обрезка, скриншота
 

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
Да, скрин всей станицы делается, но нужно именно то место на чем заканчивается шаблон.

То есть шаблон сделал скрол и нужно именно там заскринить..

на других сайтах срабатывает четко, а именно тут какой то глюк и хз в чем
 

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
Обрезать конечно как вариант, но хотелось бы понять, почему тут не срабатывает скрин видимой части (того места, на котором остановился шаблон)
 

Serjio Leone

Client
Регистрация
20.09.2017
Сообщения
114
Благодарностей
84
Баллы
28
Обрезать конечно как вариант, но хотелось бы понять, почему тут не срабатывает скрин видимой части (того места, на котором остановился шаблон)
Как делаешь скрин? Скинь код, скорее всего путь до HTML элемента не правильный.
 

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 683
Баллы
113

Serjio Leone

Client
Регистрация
20.09.2017
Сообщения
114
Благодарностей
84
Баллы
28
Попробуй так:

C#:
//Тут указываем Xpath путь до фото
string xPathImg = "//div[contains([USER=46442]@class[/USER], 'weather svelte-1iemg89')]";

//указываем путь куда будет сохраняться фото
string pathFileSave = "D:\\test.png";

Tab tab = instance.ActiveTab;

//получаем base64
string img = tab.FindElementByXPath(xPathImg,0).DrawToBitmap(false);

byte[] imageBytes = Convert.FromBase64String(img);

//проверяем размер файла
if (imageBytes.Length == 0)
{
    project.SendWarningToLog("Пришла пустая картинка", true);
    return "ok";
}


Image image;

using (MemoryStream ms = new MemoryStream(imageBytes))
{
    image = Image.FromStream(ms);
}


try
{
    //сохраняем на диск
    image.Save(pathFileSave, System.Drawing.Imaging.ImageFormat.Png);
}
catch (Exception ex)
{
    //ошибка сохранения капчи
    project.SendErrorToLog("ошибка сохранения фото", true);
    throw new Exception("ошибка сохранения фото");
}
 

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
надо только параметры для видимой области посчитать.
а как узнавать параметры именно видимой области, в шаблоне получается каждый раз в рандомном месте заканчивается просмотр...
и именно то место надо заскринить
 

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
весь прикол в том что сайты разные, и шаблон каждый раз в рандомном месте заканчивает свою работу, исходя из этого я не совсем понимаю как прицепиться через "xPath" к видимой части истанса
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 362
Благодарностей
8 648
Баллы
113
на других сайтах срабатывает четко, а именно тут какой то глюк и хз в чем
Можете дать пример сайта, где cоздается именно скриншот видимой части? По идее, именно такое поведение неправильное. "Обработка изображений - Скриншот" должен именно всю страницу скриншотить, а не ту область к которой было прокручено.
 

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
"Обработка изображений - Скриншот" должен именно всю страницу скриншотить, а не ту область к которой было прокручено.
не думаю, зачем там тогда функциональность?
76042
 

Вложения

  • 15,3 КБ Просмотры: 1
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 362
Благодарностей
8 648
Баллы
113
не думаю, зачем там тогда функциональность?
Да, это я недоглядел, сорри. Тогда все правильно, должно скринить. Проверил, скринит неправильно тоже на вебпроверке. Поинтересуюсь у разработчиков почему такое и возможно ли исправить. Вероятно, влияет взаимодействие скриншотера со скриптами на сайте, в результате чего в момент снятия скриншота происходит перескок в самый верх страницы.
 
Последнее редактирование:
  • Спасибо
Реакции: lbvf65

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
Проверил, скринит неправильно тоже на вебпроверке. Поинтересуюсь у разработчиков почему такое и возможно ли исправить.
спасибо

Вероятно, влияет взаимодействие скриншотера со скриптами на сайте, в результате чего в момент снятия скриншота происходит перескок в самый верх страницы.
скорее всего да, узнать бы какие скрипты могут влиять..

потому что даже если JS отключить - все равно не помогает

76051
 
Последнее редактирование:

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