Получить координаты с экрана
Нужно получить координаты курсора по нажатию мыши.
Координаты должны быть экранные а не привязаны к окну приложения.
Подскажите решение или модуль, с помощью которого можно решить эту задачу.
Отслеживать
73.1k 107 107 золотых знаков 38 38 серебряных знаков 55 55 бронзовых знаков
задан 2 июл в 9:04
Вадим Шиманаев Вадим Шиманаев
1 1 1 бронзовый знак
легкий способ, это через pyautogui, для получения координат курсора pyautogui.position(). Подробнее можешь почитать на pyautogui.readthedocs.io/en/latest/mouse.html.
2 июл в 10:10
2 июл в 10:12
Благодарю за помощь
2 июл в 10:21
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Как вариант можно использовать библиотеку pynput
from pynput import mouse def on_mouse_click(x, y, button, pressed): if button == mouse.Button.left and pressed: print(f'X: Y:') listener = mouse.Listener(on_click=on_mouse_click) listener.start() listener.join()
Отслеживать
ответ дан 2 июл в 10:18
WTFisGoingOn WTFisGoingOn
1,252 1 1 золотой знак 5 5 серебряных знаков 26 26 бронзовых знаков
- python
- координаты
- мышь
- курсор
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как узнать координаты мышки?
Добрый день. Такой вопрос, хочу узнать координаты курсора мышки, чтобы потом скрипт начинал свою работу с этих координат. Мне нужно, чтобы бот начинал свой поиск с выбранного места пользователем.
Пытался написать так, но не работает:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
import pyautogui as root import random import keyboard import pywin32_system32 from time import sleep from tkinter import * from tkinter import messagebox def click(x, y, button): if button == mouse.Button.left: x = win32api.GetCursorPos()[0] y = win32api.GetCursorPos()[1] def clicked(): i = 0 while i 30: test_list = ["crypto", "car", "youtube", "google"] random_index = random.randint(0, len(test_list) - 1) root.moveTo( x, y, 0.28 ) sleep(1) root.leftClick() root.typewrite(test_list[random_index],0.05) root.keyDown('enter') root.keyUp('enter') root.moveTo( random.uniform(0, 1920), random.uniform(0, 1080), 0.28 ) sleep(random.uniform(3, 4)) root.scroll(-1000) sleep(random.uniform(1, 2)) root.keyDown('alt') root.keyDown('left') root.keyUp('alt') root.keyUp('left') i=i+1 if i == 30: messagebox.showinfo('Бот Presearch', 'Поиск закончен') win = Tk() win.title('Бот Presearch') win.wm_attributes('-alpha', 1) win.geometry('345x230') win.resizable(width=False, height=False) lbl = Label(win, text="Бот был написан для телеграмм канала Cryptozoo", font=("Calibri light", 10)) lbl.grid(column=0, row=0) lbl = Label(win, text="______________________________", font=("Calibri light", 1)) lbl.grid(column=0, row=1) lbl = Label(win, text="*Поставьте английскую раскладку", font=("Calibri light", 8), fg="red") lbl.grid(column=0, row=2) btn = Button(win, text="Определить", font=("Calibri light", 10), command=click) btn.grid(column=0, row=3) btn = Button(win, text="Старт", font=("Calibri light", 30), command=clicked) btn.grid(column=0, row=4) lbl = Label(win, text="Чтобы остановить бота нужно попытаться закрыть ее", font=("Calibri light", 8)) lbl.grid(column=0, row=5) win.mainloop()
То есть, проблема в том, что у всех разные моники и то есть заточить бота под нужные координаты не получиться, поэтому я хочу что бы была кнопка, на которую пользователь нажимает, потом проводит курсор до нужного места, нажимает лкм и потом «Старт», после чего бот начинает работу с нужных координат.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как получить координаты мышки и отслеживать их?
Хочу поработать с аналогом в Pygame: if event.type == pygame.MOUSEBUTTONDOWN , но чтобы событие.

Как узнать координаты мышки из event:Event
как из переменной event достать координаты? knob_MC.addEventListener(MouseEvent.MOUSE_DOWN.

Выводить координаты мышки по срабатыванию любой кнопки мышки каждый раз разными цветами
Здравствуйте , никак не могу разобраться в задании , необходимо выводить координаты мышки по.
Как считать координаты мышки?
Как считать координаты мышки? для крестиков ноликов.
Как отслеживать координаты мышки?
как отслеживать координаты мышки? если можно примерчиком.
![]()
2679 / 1585 / 512
Регистрация: 21.02.2017
Сообщений: 4,205
Записей в блоге: 1
Frikes, ну, да это не будет работать, потому что ты получаешь координаты и ничего с ними не делаешь.
Сообщение от Frikes 
что у всех разные моники
Можно заточить под один монитор, а далее получать размер текущего монитора, и корректировать нужные координаты в процентном соотношении.
Регистрация: 07.06.2022
Сообщений: 7
Я узнавал с помощью библиотеки pyautogui.
1 2 3 4 5
import pyautogui as pg while True: X, Y = pg.position() print(X, Y)
Добавлено через 8 минут
А, прости, не прочитал сообщение сразу. Чтоб запомнить положение курсора можно использовать библиотеку pynput. Привязать на клавишу или клик функцию которая запомнит положение. Вот пример с клавишей:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
from pynput import keyboard def button(): print('Я нажата!') def on_press_func(key): if key == keyboard.Key.f1: button() with keyboard.Listener( on_press=on_press_func, ) as listener: listener.join()
Как получить координаты мыши python
Блог веб разработки статьи | видеообзоры | исходный код

pyautogui python

Всем привет! Сегодня мы с вами начнем знакомство с очень интересным модулем в python который называется pyautogui. С помощью него можно имитировать различные действия пользователя. Для начала рассмотрим работу с мышью. Итак, поехали!
Прежде чем начать работу с модулем pyautogui, необходимо его установить.
pip install pyautogui
Обычно это делается через стандартную утилиту pip в python.
После установки импортируем и проверяем.
import pyautogui
Если после выполнения ошибок не возникло, значит модуль успешно установлен и готов к работе.
Первым делом давайте определим координаты мыши и выведем их в консоль.
print(pyautogui.position())
С помощью метода position() объекта pyautogui мы определили текущие координаты мыши на момент запуска программы.
С помощью модуля pyautogui мы также можем перемещать курсор мыши в заданную координату за определенное время. Делается это с помощью методов moveTo() и moveRel().
pyautogui.moveTo(100, 200, 2)
При выполнении данного кода курсор мыши начнет перемещаться в точку с координатами (100, 200) в течении 2 секунд.
Если мы хотим чтобы курсор мыши перемещалcя только по горизонтали, то в качестве координаты Y нам достаточно будет указать значение None.
pyautogui.moveTo(100, None, 2)
Также и с перемещением по вертикали.
Метод moveRel() немного работает по другому. С помощью него мы также можем перемещать курсор мыши, но только относительно его текущей позиции.
pyautogui.moveRel(-300, 300, 3)
При выполнении данного кода курсор мыши переместится на 300 пикселей влево и вниз за 3 секунды относительно своей изначальной позиции.
Для перемещения элементов вместе с курсором мыши мы можем воспользоваться методами dragTo() и dragRel(). Они аналогичны методам moveTo() и moveRel(). Только здесь у нас при перемещении происходит зажимание определенной кнопки мыши.
pyautogui.dragTo(300, 400, 2, button='left')
С помощью данного кода курсор мыши переместится в координату (300,400) за 2 секунды причем при перемещении у нас будет зажата левая кнопка мыши. В результате чего у нас произойдет эффект выделения области.
C dragRel() то же самое, только перемещение курсора будет относительно начальной координаты.
pyautogui.dragRel(30, 0, 2, button='left')
Отлично! Далее рассмотрим нажатия кнопок мыши. За это отвечают методы click() и doubleClick().
C помощью метода click() мы можем сделать одиночный клик мышкой.
pyautogui.click()
Если мы хотим сделать клик в определенном месте, то можно указать координаты.
pyautogui.click(x=100, y=200)
Здесь мы произвели клик в координате (100,200).
Для реализации нескольких кликов:
pyautogui.click(x=100, y=200, clicks=3, interval=0.5)
При выполнении данного кода у нас в координате (100,200) выполнится три клика с интервалом в пол секунды.
Если мы хотим выполнить двойной клик достаточно воспользоваться методом doubleClick().
По умолчанию метод click() использует только левую кнопку мыши.
pyautogui.mouseDown(button='left')
Если нам нужно использовать правую кнопку мыши достаточно в параметре button указать значение right
pyautogui.mouseDown(button='right')
в результате выполнения будет нажата правая кнопка мыши.
И напоследок рассмотрим прокручивание колесика мыши.
pyautogui.scroll(10)
C помощью метода scroll() мы на заданное количество поворотов колесика мыши можем делать прокрутку.
В нашем примере мы сделали десять поворотов колесика мыши вниз.
Вот так вот используя модуль pyautogui мы можем управлять мышкой, имитируя действия пользователя. На этом данная статья подошла к концу. Если есть вопросы, пожелания оставляйте их в комментариях или группе
А я на этом с вами прощаюсь. Желаю успехов и удачи! Пока!
Оцените статью:
Статьи
Комментарии
Внимание. Комментарий теперь перед публикацией проходит модерацию
didi_23_45
19:43 13-08-2019
Все ясно и просто .
© 2017-2023 webfanat.com Все права защищены.

Запись экрана
Данное расширение позволяет записывать экран и выводит видео в формате webm
Добавить приложение на рабочий стол
Узнать координаты указателя мыши
Записать координаты мыши
Доброго дня всем. Прошу помощи Есть задачка: в цикле опрашивать координаты курсора до тех пор.
Как получить координаты клика мыши по QGraphicsScene?
Добрый день, вопрос как получить координаты клика мыши по QGraphicsScene? Добавлено через 1.

Как при перемещении курсора в окне программы в TextBox передавать координаты указателя мыши
Приветствую. Скажите пожалуйста как отследить курсор мыши. Т.Е. при перемещении курсора в окне.
Узнать координаты мыши
Добрый вечер, нужно узнать координаты мыши ,и потом нужно например.
192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299
1 2 3
>>> import win32api >>> win32api.GetCursorPos() (370, 295)
40 / 42 / 16
Регистрация: 15.01.2021
Сообщений: 432
Не не не, я имел ввиду переменной х надать координату х мыши, а у координату у мыши
192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299

Сообщение было отмечено hasker2 как решение
Решение
Сообщение от hasker2 
Не не не, я имел ввиду переменной х надать координату х мыши, а у координату у мыши
Взять элементы из полученного массива
1 2 3 4 5 6 7
>>> import win32api >>> x = win32api.GetCursorPos()[0] >>> y = win32api.GetCursorPos()[1] >>> x 524 >>> y 192
40 / 42 / 16
Регистрация: 15.01.2021
Сообщений: 432
Сообщение от menreiven 
Не не не, я имел ввиду переменной х надать координату х мыши, а у координату у мыши
Взять элементы из полученного массива
BashВыделить код
1
2
3
4
5
6
7
>>> import win32api
>>> x = win32api.GetCursorPos()[0]
>>> y = win32api.GetCursorPos()[1]
>>> x
524
>>> y
192
Спасибо, работает
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Узнать координаты мыши
Как узнать координаты курсора мыши относительно консоли, а не рабочего стола?

Как узнать, координаты мыши?
Только на над формой когда находится, а за её пределами, т.е. по экрану вообще.
Как узнать координаты мыши
Как выудить координаты мыши с DevExpress.XtraEditors.RangeTrackBarControl?
Как узнать координаты курсора мыши
Как узнать положение курсора мыши на страницу?
Узнать координаты клика мыши по форме
int counter=1; private void Form1_MouseClick(object sender, MouseEventArgs e) .
Как узнать координаты нажатия мыши?
Всем привет. Как узнать координаты нажатия мыши по любой точке на экране?
