1 (изменено: van-petryk, 2013-11-03 17:48:34)

Тема: AHK: Поиск слова/фразы/ссылки в браузере, а затем действие

Вообщем проблема такова. Есть такой цикл:


id:=50
Loop %k%
{
Run, http://mysite.ru/go.php?id=%id%
Random, t, 2, 3
Sleep, t*1000
id++
SendInput ^{w}
}

Мне нужно сделать следующее:

   - Вместо задержки, внести что то другое, чтобы цикл продолжался только тогда, когда ссылка полностью загрузится, (RunWait не работает)
   - Выполнить поиск на странице: нужно найти ссылочку, допустим www.google.com, которая в виде текста отображается как "Поиск в гугл". Лучше будет конешно если скрипт будет искать текст, чем ссылку.

Насчет этого, можно использовать ctrl+F, и вставить слово:

F1::
Word =гугл
SendPlay, ^{SC021} ;F
sleep, 300
SendPlay, {Raw}%Word%

   - Если слово не найдено, то вкладку нужно закрыть, если найдено, то оставить и продолжить цикл

2 (изменено: serzh82saratov, 2013-11-10 19:11:57)

Re: AHK: Поиск слова/фразы/ссылки в браузере, а затем действие



id := 8885
search = <p class="posting">Чтобы отправить ответ, вы должны <a
wb := ComObjCreate("InternetExplorer.Application"), wbHWND := wb.HWND
wb.Height := 555, wb.Width := 1111, wb.Top := 5, wb.Left := 5, wb.Visible := True

html: 
    wb.Navigate("http://forum.script-coding.com/viewtopic.php?id=" id)
    
    while wb.Busy
        Sleep, 100
    
    If Instr( wb.Document.body.innerHTML, search)
    {
        MsgBox,, % "id = " id++, Есть ссылка., 1 
        goto html
    } 
    MsgBox,, % "id = " id++, Ссылки нет`, это конец., 1
    WinClose ahk_id %wbHWND%  
    ExitApp 

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Поиск слова/фразы/ссылки в браузере, а затем действие

serzh82saratov пишет:


id := 8885
search = <p class="posting">Чтобы отправить ответ, вы должны <a
wb := ComObjCreate("InternetExplorer.Application"), wbHWND := wb.HWND
wb.Height := 555, wb.Width := 1111, wb.Top := 5, wb.Left := 5, wb.Visible := True

html: 
    wb.Navigate("http://forum.script-coding.com/viewtopic.php?id=" id)
    
    while wb.Busy
        Sleep, 100
    
    If Instr( wb.Document.body.innerHTML, search)
    {
        MsgBox,, % "id = " id++, Есть ссылка., 1 
        goto html
    } 
    MsgBox,, % "id = " id++, Ссылки нет`, это конец., 1
    WinClose ahk_id %wbHWND%  
    ExitApp 

Я так понял вы это делаете в IE, а в хром такое можно сделать?

Я уже как все и сам сделал, только вот одна вещь меня интересует:
как можно сделать так, чтобы выполнение програмы продолжалось после полной загрузке страницы? У меня это не получается

4

Re: AHK: Поиск слова/фразы/ссылки в браузере, а затем действие

Я так понял вы это делаете в IE, а в хром такое можно сделать?

Увы.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Поиск слова/фразы/ссылки в браузере, а затем действие

van-petryk пишет:

Я уже как все и сам сделал, только вот одна вещь меня интересует:
как можно сделать так, чтобы выполнение програмы продолжалось после полной загрузке страницы? У меня это не получается

Есть в хроме кнопка "обновить", на которой изображена кольцевидная стрелка. Пока страница загружается кнопка меняет назначение на "прервать загрузку" и на ней в это время отображается косой крест. Ничего лучшего, чем следить за состоянием этой кнопки (проверка совпадения цвета в центре с цветом фона) я так и не придумал.


WaitCross()
{
loop, 6000
    {
    sleep, 50
    PixelGetColor, OutOfCross, 63, 46
    PixelGetColor, MiddleOfCross, 76, 46
    if MiddleOfCross = %OutOfCross%
            return
    }
msgbox Превышено время ожидания загрузки страницы
}

В большинстве остальных браузеров окончание загрузки можно отследить по строке состояния. На форуме были конкретные примеры для IE и, кажется FF, искать лень, не обессудьте.

Ходит Спесь, надуваючись, С боку на бок переваливаясь. Ростом-то Спесь аршин с четвертью, Шапка-то на нём во целу сажень, Пузо-то его всё в жемчуге, Сзади-то у него раззолочено... Идет Спесь, видит: на небе радуга; Повернул Спесь во другую сторону: Не пригоже-де мне нагибатися!
А. К. Толстой

6

Re: AHK: Поиск слова/фразы/ссылки в браузере, а затем действие

Korobkoff пишет:

Есть в хроме кнопка "обновить", на которой изображена кольцевидная стрелка. Пока страница загружается кнопка меняет назначение на "прервать загрузку" и на ней в это время отображается косой крест. Ничего лучшего, чем следить за состоянием этой кнопки (проверка совпадения цвета в центре с цветом фона) я так и не придумал.

В большинстве остальных браузеров окончание загрузки можно отследить по строке состояния. На форуме были конкретные примеры для IE и, кажется FF, искать лень, не обессудьте.

Сделал немного по другому, взял цвет из нижней области странички, и когда у нас совпадения, страничка закрывается. Страничку мне полностью не надо, для меня важно чтоб сервер получил запрос от меня. Хотелось бы это сделать как то по другому, чтоб ответ мне не шел, или шел но игнорировался, вообщем не важно пока что.  Но на днях, скрипт перестал работать, поменял цвет. и уже скрипт не всегда дожидается загрузки, бывает что из 20 страниц, 3-5 закрываются без ожидания ответа, и сервер так и не получает запросов.