Что нового

Клик по координатам в свернутом браузере

las6

Новичок
Сообщения
9
Репутация
0
Почитал на форуме несколько тем, то ли это все не то, то ли я не пойму как это делать.

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

Как это сделать?

в опере работает
Код:
ControlClick($title,"","[CLASS:aPluginWinClass; INSTANCE:1]","left",20,200,300)


а в хроме не работает (в свернутом окне (, но работает в развернутом))
Код:
ControlClick($title,"","[CLASS:Chrome_RenderWidgetHostHWND; INSTANCE:1]","left",20,200,300)
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
las6
При старте Chrome, кроме главного окна, создаётся ещё 8 служебных окон. Когда Chrome не свёрнут, элемент Chrome_RenderWidgetHostHWND1 является дочерним главному окну с классом Chrome_WidgetWin_1. Если Chrome сворачивается, родителем у элемента Chrome_RenderWidgetHostHWND1 становится служебное невидимое заблокированное окно класса Chrome_WidgetWin_0. И работа с данным элементом становится невозможной, даже если к нему обращаться через это служебное окно и даже, если это служебное окно разблокировать. Таким образом, работать с Chrome можно только в НЕ свёрнутом главном окне. Причём ControlClick() в элемент Chrome_RenderWidgetHostHWND1 всегда активирует главное окно Chrome. Зачем? Это вопрос к разработчикам.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
А если изменить размер окна / переместить его через
Код:
WinMove
или скрыть его?
Код:
WinSetState("title", "text", @SW_HIDE) / @SW_DISABLE / @SW_MINIMIZE
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
1. Сделать окно полностью прозрачным
2. Развернуть
3. Кликнуть
4. Свернуть
5. Убрать прозрачность.


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

Вот функция, которая кликает в свернутом InternetExplorer
удалено...
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
alex33 [?]
если изменить размер окна
Chrome воспринимает клик мышью только в видимую часть элемента Chrome_RenderWidgetHostHWND1. Область за пределами видимой части, даже при наличии полосы прокрутки, на клики не реагирует. В IE, кстати, такая же "проблема".
переместить его или скрыть
В этом случае работать будет. Но всё равно окно Chrome будет забирать фокус у текущего активного окна, т.е. будет мешать работе.

inververs [?]
функция, которая кликает в свернутом InternetExplorer
В свёрнутом IE и ControlClick() нормально работает.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
InnI [?]
В свёрнутом IE и ControlClick() нормально работает.
Не работает. Перед кликом контрол должен быть в фокусе. Поэтому нужно вручную делать controlfocus, а это сбивает фокус с текущего окна, что не очень удобно.. Работает как раз в свернутом...
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
inververs [?]
У меня на Win7 x86 свёрнутое окно IE 10 не забирает фокус. Если не свёрнуто, то да - иногда активируется. А если свёрнуто, то не активируется.
Код:
Run(@ProgramFilesDir & "\Internet Explorer\iexplore.exe http://akelpad.sf.net")
$hWnd = WinWaitActive("[class:IEFrame]") ; активно окно IE
WinSetState($hWnd, "", @SW_MINIMIZE)
Run("notepad.exe")
WinWaitActive("[class:Notepad]") ; активно окно блокнота
Sleep(1000)
ControlClick($hWnd, "", "Internet Explorer_Server1", "left", 1, 120, 35) ; скачать
Sleep(1000)
ConsoleWrite("Active: " & WinGetTitle("") & @CRLF) ; какое окно активно?
Sleep(1000)
WinSetState($hWnd, "", @SW_RESTORE)
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Вижу, в свернутое кликает отлично.
Но с развернутым и не активным как-то глючит. Не кликает пока не будет активным..


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

Может можно как то активизировать без забирания фокуса?


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

Или это проблемы експлорера. Функция видно что кликает, даже видно как нажимается кнопка. Но на странице ничего не происходит, навигация не идет.
 
Автор
L

las6

Новичок
Сообщения
9
Репутация
0
InnI [?]
При старте Chrome, кроме главного окна, создаётся ещё 8 служебных окон.

скачал новую оперу
я так понимаю там теперь тоже самое сделали?
скрипт перестает работать, если свернуть ее
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
las6 [?]
Правильно понимаете. Тот же Chromium - вид сбоку.


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

Если вам обязательно нужен браузер, использующий WebKit, попробуйте Maxthon. ControlClick() в свёрнутом окне работает нормально, не свёрнутое окно фокус не забирает. И даже в режиме IE, когда включается движок Trident, срабатывает каждый ControlClick(), в отличие от самого IE.
 
Верх