Что нового

Как определить окончание страницы в браузере (chrome)?

pww2000

Новичок
Сообщения
16
Репутация
0
Листаю страницу в Chrom'е с помощью MouseWheel.
Как определить, что докрутил до конца?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Проверить наличие подвала (footer).


Добавлено:
Сообщение автоматически объединено:

Или так: например функцией
Код:
PixelChecksum
или любой другой...
1. Посмотреть что на странице сейчас;
2. Прокрутить страницу;
3. Сравнить результат, изменилось ли что-нибудь после прокрутки (п. 1).
 
Автор
P

pww2000

Новичок
Сообщения
16
Репутация
0
alex33 сказал(а):
Проверить наличие подвала (footer).
Что это? Можно поподробней?

alex33 сказал(а):
...
3. Сравнить результат, изменилось ли что-нибудь после прокрутки (п. 1).
Вариант не очень. Страницы разные, в т.ч. с аннимацией...
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
pww2000 сказал(а):
Что это? Можно поподробней?
Это cамый низ страницы...
Для примера вот приложил скрины с этого форума, с Яндекса и с Google.
 

Вложения

  • footer.I_001.jpg
    footer.I_001.jpg
    46.8 КБ · Просмотры: 19
  • footer.I_002.jpg
    footer.I_002.jpg
    32.6 КБ · Просмотры: 9
  • footer.I_003.jpg
    footer.I_003.jpg
    17.9 КБ · Просмотры: 12
Автор
P

pww2000

Новичок
Сообщения
16
Репутация
0
alex33 сказал(а):
pww2000 сказал(а):
Что это? Можно поподробней?
Это cамый низ страницы...
Для примера вот приложил скрины с этого форума, с Яндекса и с Google.

Увы. Оно разное на разных сайтах.
Наверное надо в сторону WINAPI копать...
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
pww2000
можно как-то линейку прокрутки прочитать
Можно через _UIA_ElementGetPropertyValue(). Только это вам не поможет, т.к. значения прокрутки не меняются. Там при прокрутке вообще ничего не меняется - ни координаты элементов, ни их видимость. Только стрелка "вниз" у полосы прокрутки становится серой при достижении низа. Можете попробовать эти серые пиксели поискать в правом нижнем углу окна.
 

veretragna

Как писал, так и работает.
Сообщения
140
Репутация
10
OffTopic:
Специально зашел сюда, чтобы поискать ответы от InnI =)
И таки не ошибся - UIAutomation рулит!
 
Автор
P

pww2000

Новичок
Сообщения
16
Репутация
0
InnI сказал(а):
Можете попробовать эти серые пиксели поискать в правом нижнем углу окна.
Не очень надежно, но хоть как-то. А гарантированного способа видимо нет?
 

Sln

Знающий
Сообщения
45
Репутация
5
Попутное слизывание это сильно конечно...

по сабжу сделал бы както так:

Код:
WinWaitActive("[CLASS:Chrome_WidgetWin_1]")

; есть ли скролл
If PixelGetColor(1912, 1030) = 0x505050 Or PixelGetColor(1912, 1030) = 0xA3A3A3 Then
	While WinActive("[CLASS:Chrome_WidgetWin_1]")
	If PixelGetColor(1912, 1022) = 0xA8A8A8 Then
		MsgBox(0, @ScriptName, "Это конец!")
		ExitLoop
	EndIf
	Sleep(100)
	WEnd
Else
	MsgBox(0, @ScriptName, "Скрола нет!")
EndIf

; продолжение программы
 

Вложения

  • s1.png
    s1.png
    28.4 КБ · Просмотры: 12
Автор
P

pww2000

Новичок
Сообщения
16
Репутация
0
Sln сказал(а):
по сабжу сделал бы както так:

If PixelGetColor(1912, 1030) = 0x505050 Or PixelGetColor(1912, 1030) = 0xA3A3A3 Then

А что за волшебные цифры "1912, 1030"? Это где-то ниже и правее "часиков". Наверное потому, что у меня разрешение экрана совсем другое :smile:...
УПС... вложение не увидел.
К сожалению эти треугольники на некоторых страничках отсутствуют. Да и сама линейка не всегда есть
 

Sln

Знающий
Сообщения
45
Репутация
5
Читайте коменты в коде и код собственно. :reading_book:
 
Верх