1

Тема: AHK: Скрипт бесконечно выполняет while

Здравствуйте. Столкнулся с проблемой. Скрипт иногда начинает безконечно повторять конструкции while. Например, проверку загрузки страницы. Даже если страница уже загрузилась. 

While	pwb.readyState != 4 || pwb.document.readyState != "complete" || pwb.busy
			Sleep 1000

Поиск кнопки - так же зависает.

		While ( value <> "Click" ) 
			value := pwb.document.getElementsByTagName( "button")[ A_Index - 1].innerText, index := A_Index - 1 
		pwb.document.getElementsByTagName( "button")[ index].Click()
		Sleep 1000

Подскажите, как можно это исправить, например, ограничить количество повторений. Спасибо.

2

Re: AHK: Скрипт бесконечно выполняет while

Если цикл проверки загрузки страницы продолжает выполняться, значит какое-то из условий, перечисленных в while, продолжает быть истинным, т. е. фактически страница по каким-то причинам ещё не загрузилась. Если хотите прервать цикл после определённого количества итераций, добавьте проверку номера текущей итерации, меньше ли он определённого значения. Текущая итерация в цикле находится в переменной A_Index.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Скрипт бесконечно выполняет while

g0ss пишет:

Поиск кнопки - так же зависает.

Когда-то я сталкивался с проблемой, что без установленных Adobe PDF Link Helper либо Office Document Cache Handler IE возвращал не все элементы.
http://forum.script-coding.com/viewtopic.php?id=13289