Что нового

Скрипт который будет находить слово на странице и обновлять ее.

rusGT

Новичок
Сообщения
4
Репутация
0
Версия AutoIt: 3.3.6.1

Описание: Хотелось бы получить скрипт, который будет:
1. Искать определенное слово (текстовое, а не графическое) на странице браузера.
2. При нахождении его, должен запустить таймер на n секунд
3. В случае если по истечении этого времени слово остается, то нужно обновить страницу. Если через n секунд слово исчезло, то ничего делать не нужно.
4. И так по циклу.

Примечания: Браузер -IE 8,система Windows XP
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
rusGT
Попробуйте так:
Код:
#include <IE.au3>

$sUrl = 'http://Ваш адрес/'
$sWord = 'Слово для проверки'
$iPause = 5000

HotKeySet('{ESC}', '_Exit')

$oIE = _IECreate($sUrl)
While 1
	If StringInStr(_IEBodyReadText($oIE), $sWord) <> 0 Then
		Sleep($iPause)
		If StringInStr(_IEBodyReadText($oIE), $sWord) <> 0 Then
			_IEAction($oIE, "refresh")
			_IELoadWait($oIE)
		EndIf
	EndIf
	Sleep(1000)
WEnd

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Автор
R

rusGT

Новичок
Сообщения
4
Репутация
0
спасибо! )))
а есть способ чтобы без указания адреса написать скрипт? просто а адресной строке фигурирует слово timer и его значение постоянно меняется, т.е. нельзя однозначно идентифицировать адрес. В принципе, окно браузера всегда активно и в нем только одна вкладка.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
rusGT
Тогда так попробуйте:
Код:
#include <IE.au3>

$sWord = 'Слово для проверки'
$sCheckUrl = 'timer'
$iPause = 5000

HotKeySet('{ESC}', '_Exit')
If Not WinExists('[Class:IEFrame]') Then
	MsgBox(0, 'Ошибка', 'Отсутствует окно IE', 5)
	Exit
EndIf
$oIE = _IEAttach('[Class:IEFrame]', 'embedded')
While 1
	If Not WinExists('[Class:IEFrame]') Then
		MsgBox(0, 'Ошибка', 'Отсутствует окно IE', 5)
		Exit
	EndIf
	If StringInStr(_IEPropertyGet($oIE, "locationurl"), $sCheckUrl) = 0 Then
		MsgBox(0, 'Ошибка', 'В адресе отсутствует слово ' & $sCheckUrl, 5)
		Exit
	EndIf
	If StringInStr(_IEBodyReadText($oIE), $sWord) <> 0 Then
		Sleep($iPause)
		If StringInStr(_IEBodyReadText($oIE), $sWord) <> 0 Then
			_IEAction($oIE, "refresh")
			_IELoadWait($oIE)
		EndIf
	EndIf
	Sleep(100)
WEnd

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Автор
R

rusGT

Новичок
Сообщения
4
Репутация
0
Спасибо огромное! странно, но первый вариант тоже работает. Второй даже не пробовал, зачем что-то менять если и так все работает?! ;)) еще раз спасибо, ты крут )))
 

Sergiop

Новичок
Сообщения
1
Репутация
0
Re: Скрипт который будет находить слово на странице и обновлять ее

Прошло 5 лет..
Случаем не подскажете, почти так же, но, как найти на странице слово, и если оно чёрным шрифтом, то кликнуть на него как мышкой?
Заранее благодарю всех, кто чем поможет!
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Re: Скрипт который будет находить слово на странице и обновлять ее

Sergiop [?]
Стареем, стареем… :(

Случаем не подскажете, почти так же
Подскажем!
Читайте тему и вникайте или создайте свою, в которой подробно опишите вашу проблему.

P.S. Прежде чем спросить!
 
Верх