Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   ControlClick. Куда кликать? (http://forum.oszone.net/showthread.php?t=189741)

FrankiAm 29-10-2010 17:20 1530305

ControlClick. Куда кликать?
 
Доброе время суток.
Задача:
сидеть ждать, пока не запустится Эксплорер. При запуске ввести в адресную строку адрес и нажать на Обновить. (тут именно на обновить, а не послать Send("{ENTER}"))

Решение:
WinWaitActive('Пустая страница - Windows Internet Explorer','about:blank')
ControlSend("Пустая страница - Windows Internet Explorer", "about:blank", "[CLASS:Edit; INSTANCE:1]", "http://www.google.com")

До сих пор все работает как надо. А вот дальше чего-то я никак не соображу:
ControlClick("Пустая страница - Windows Internet Explorer", "http://www.google.com", "[CLASS:ToolbarWindow32; INSTANCE:4]", "Left")

Вот что выдает AutoIt Window Info:
>>>> Window <<<<
Title: Пустая страница - Windows Internet Explorer
Class: IEFrame
Position: -4, -4
Size: 1288, 1032
Style: 0x15CF0000
ExStyle: 0x00000100
Handle: 0x00010188

>>>> Control <<<<
Class: ToolbarWindow32
Instance: 4
ClassnameNN: ToolbarWindow324
Name:
Advanced (Class): [CLASS:ToolbarWindow32; INSTANCE:4]
ID:
Text: Элемент управления страницей
Position: 980, 5
Size: 54, 22
ControlClick Coords: 15, 12
Style: 0x5600B94D
ExStyle: 0x00000080
Handle: 0x000101BA

Но в этом CLASS:ToolbarWindow32; INSTANCE:4 есть 2 кнопки (обновить, стоп). Как различить на какую кликать? Сидел думал, думал, и пришла гениальная мысль: если они никак не различаются, значит прийдется на них тыкать по из координатам. Это поле ControlClick Coords: 15, 12. Как я понял, где бы не находилось окно, координаты этого класса будут всегда такие.

Вот и возник вопрос: куда эти координаты втулить в строку: ControlClick("Пустая страница - Windows Internet Explorer", "http://www.google.com", "[CLASS:ToolbarWindow32; INSTANCE:4]", "Left")

Зы: сильно не пинайте, только начал...

gregaz 30-10-2010 07:03 1530703

Цитата:

Цитата FrankiAm
куда эти координаты втулить в строку: »

Судя по всему ты читал русскую справку , которая сильно устарела.
Обрати внимание на Английскую :

Код:

ControlClick ( "title", "text", controlID [, button [, clicks [, x [, y ]]]] )

FrankiAm 30-10-2010 12:55 1530826

Нда, читал русскую справку, там написано:
ControlClick ( "title", "text", controlID [, button] [, clicks]] )
Сейчас открыл английскую, написано:
ControlClick "title", "text", "controlID" [, button [, clicks [, x [, y ]]]]
Качал последнюю версию программы и последнюю версию русской справки. Чего-то я не посмотрел что они разные...

Спасибо, сейчас буду пробывать...


О, опыт удался:
ControlClick ("Пустая страница - Windows Internet Explorer", "http://www.google.com", "ToolbarWindow324", "right", 1, 1, 1)
Нда, порой сложно разобраться как работает телевизор читая инструкцию от холодильника... :)

То есть, по сути, ControlClick работает надежней чем MouseClick, ибо где бы окно не находилось, ControlClick всегда тыкнет в координаты на нужной кнопке, а MouseClick просто в координаты, и ему до лампочки что находится под тем местом, куда он тычет...

zbz 28-08-2014 23:49 2395560

Красавцы, у меня тоже БЫЛ такой геморрой, наконец то я избавился от него.
Спасибо Вам ОГРОМНОЕ, товарищи хирурги :yahoo:


Время: 17:55.

Время: 17:55.
© OSzone.net 2001-