Форум сайта python.su
Здравствуйте,пытаюсь написать клик бота для whatsapp,имеется программа whatsapp sender предположительно написаная на java.Кликер не хочет делать свою работу в этой программе,по другим окнам/программам кликает замечательно,перепробовал кучу модулей на основе win32api,ctypes,pyautoit,pyautogui,все работают одинаково,как только курсор попадает в область окна программы,ф-ция кликов не работает,перемещение работает.Не знаю в какую сторону копать.Спасибо.
куски кода который использовался на протяжении моих мучений)
# m.move((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2)
# time.sleep(0.1)
# m.click((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2,1)
# m.press((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2)
# self.leftClick((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2)
# self.leftClick(100,90)
autoit.mouse_click("right",100,90,1)
autoit.mouse_click("left",(bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2,1)
# m.press((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2)
print(top_left,bottom_right)
print((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2)
def leftClick(self,x,y):
# pyautogui.moveTo(x,y,2)
# pyautogui.click(x,y,1,1.0,'left')
mouse = Mouse()
mouse.click((x, y), "left")
# win32api.SetCursorPos((x,y))
# time.sleep(.4)
# print (x,y)
# win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
# print "LEFTDOWN"
# time.sleep(.1)
# win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
# win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
# print "LEFTUP"
Офлайн
denmariupol
Я решение не подскажу, могу посоветовать поглядеть в сторону PyInput модуля. А в качестве GUI автоматизации я использую pywinauto
Офлайн
JOHN_16PyUserInput это было первым вариантом ,этот код как раз оттуда
denmariupolЯ решение не подскажу, могу посоветовать поглядеть в сторону PyInput модуля. А в качестве GUI автоматизации я использую pywinauto
# m.move((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2) # time.sleep(0.1) # m.click((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2,1) # m.press((bottom_right[0] + top_left[0])/2 ,(bottom_right[1] + top_left[1])/2)
Офлайн