Автор: Olga 24.1.2018, 7:53
Код
set #handleWin findwindow (***)
set workwindow #handleWin
wait 180000 + random (30000)
if 639, 650 1711907
left 768, 152
wait 3000 + random (100)
end_if
if 11, 243 1056421
start_script 1 wait
end_if
end_script
Нужно сделать выполнение некоторых функций при условии что определённый участок окна игры будет определённого цвета. Проблема в том, что введённые через CTRL + A во время сборки скрипта координаты, совершенно не совпадают с теми, которые кликает Пилот. И такая проблема возникает на компьютере с Win 7 и браузером Хром, на ноутбуках с Win 10 и Яндекс-Браузерами таких проблем не возникает - Пилот кликает и берёт пробу цвета там где положено. ОС виновата или браузер не знаю.
Если координаты, по которым нужно кликнуть, я могу вычислить (Пилот кликает выше заданного на сотню пикселей), то с определением цвета сложнее, вернее практически невозможно угадать нужную точку из-за неравномерности "окраски" этих самых пикселей...
В чём проблема? Что здесь можно придумать?
Автор: Olga 24.1.2018, 8:13
Проблема в Хроме. Сейчас на ноутбуке с Win 10 попробовала, так же кликает со смещением на сотенку пикселей выше. Наверняка же есть способ побороть эту проблему?
Автор: cirus 24.1.2018, 12:06
http://uopilot.tati.pro/index.php?title=Поиск_пути_к_дочернему_окну
Автор: Olga 24.1.2018, 19:53
Цитата(cirus @ 24.1.2018, 12:06)
http://uopilot.tati.pro/index.php?title=Поиск_пути_к_дочернему_окну
Попробую, хотя не очень поняла про "дочернее окно"...
Автор: cirus 24.1.2018, 20:11
В мозиле не должно быть смещения, там весь браузер одно окно, если ничего не поменяли.
Автор: Olga 29.1.2018, 6:49
Цитата(cirus @ 24.1.2018, 12:06)
http://uopilot.tati.pro/index.php?title=Поиск_пути_к_дочернему_окну
Код
exec "C:\Program Files\***"
wait 30s
set #ownerHandle findwindow (***)
set #tmp getwindow (#ownerHandle child)
set #childHandle getwindow (#tmp )
set workwindow #childHandle
...
end_script
Не работает, вдобавок складываются оба окна - и браузер и Пилот... Может кликала не там? Первый клик сделала вверху на вкладке браузера, второй клик по самой игре.
Мозиллу использовать не вариант, компьютер от Мозиллы буквально дохнет. Только Хром или Яндекс. Но у Яндекса свои заморочки, не связанные с Пилотом, любит он открывать вместо заданной в настройках страницы с игрой свои плитки или страницу "Я обновился"
Нужно заставить корректно работать Хром. Помогайте, может ещё какие то мысли есть
Автор: cirus 29.1.2018, 17:05
Цитата
вдобавок складываются оба окна
Как это понять?
Цитата
Может кликала не там? Первый клик сделала вверху на вкладке браузера, второй клик по самой игре.
Там не кликать надо, а нажимать Ctrl+A.
1. Открываем браузер с нужной игрой.
2. Запускаем скрипт для поиска дочернего окна.
3. Наводим курсор на рамку/заголовок браузера. Нажимаем Ctrl+A.
4. Наводим курсор на игру. Нажимаем Ctrl+A.
5. Скрипт для поиска дочернего окна больше не потребуется.
Полученный код вставляем в пилот. Дописываем:
Код
// код из лога
set workwindow #childHandle
log #ownerHandle // это будет хендл родительского окна, тот же что Ctrl+A на рамке браузера
log #childHandle // это хендл дочернего, тот же что Ctrl+A над окном с игрой, т. е. тот что и нужен.
// если хендлы правильные проверяйте клики, для начала лучше используйте kleft, видно куда кликает.
end_script