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

ukrainec2014

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

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

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

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

76017

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

76018
 
ролистал до нужно места,
Ключевой момент. Но точно я не знаю, заходишь и делаешь скриншот, получиться скриншот всей страницы. Попробуй не прокручивать
ттттттттттттттт.jpg
Там вроде есть еще обрезка, скриншота
 
Да, скрин всей станицы делается, но нужно именно то место на чем заканчивается шаблон.

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

на других сайтах срабатывает четко, а именно тут какой то глюк и хз в чем
 
Обрезать конечно как вариант, но хотелось бы понять, почему тут не срабатывает скрин видимой части (того места, на котором остановился шаблон)
 
Обрезать конечно как вариант, но хотелось бы понять, почему тут не срабатывает скрин видимой части (того места, на котором остановился шаблон)
Как делаешь скрин? Скинь код, скорее всего путь до HTML элемента не правильный.
 
Попробуй так:

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("ошибка сохранения фото");
}
 
надо только параметры для видимой области посчитать.
а как узнавать параметры именно видимой области, в шаблоне получается каждый раз в рандомном месте заканчивается просмотр...
и именно то место надо заскринить
 
весь прикол в том что сайты разные, и шаблон каждый раз в рандомном месте заканчивает свою работу, исходя из этого я не совсем понимаю как прицепиться через "xPath" к видимой части истанса
 
на других сайтах срабатывает четко, а именно тут какой то глюк и хз в чем
Можете дать пример сайта, где cоздается именно скриншот видимой части? По идее, именно такое поведение неправильное. "Обработка изображений - Скриншот" должен именно всю страницу скриншотить, а не ту область к которой было прокручено.
 
"Обработка изображений - Скриншот" должен именно всю страницу скриншотить, а не ту область к которой было прокручено.
не думаю, зачем там тогда функциональность?
76042
 

Вложения

  • test.zp
    test.zp
    15,3 KB · Просмотры: 1
  • Оценить
Реакции: Sergodjan
не думаю, зачем там тогда функциональность?
Да, это я недоглядел, сорри. Тогда все правильно, должно скринить. Проверил, скринит неправильно тоже на вебпроверке. Поинтересуюсь у разработчиков почему такое и возможно ли исправить. Вероятно, влияет взаимодействие скриншотера со скриптами на сайте, в результате чего в момент снятия скриншота происходит перескок в самый верх страницы.
 
Последнее редактирование:
  • Оценить
Реакции: lbvf65
Проверил, скринит неправильно тоже на вебпроверке. Поинтересуюсь у разработчиков почему такое и возможно ли исправить.
спасибо

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

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

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

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