Search code examples
pythonkeyboardpywin32

Exception has occurred: TypeError integer argument expected, got float


I tried to make It clicks to random coordinates but it gave this error

Exception has occurred: TypeError integer argument expected, got float

code:

import time
import random
import keyboard
import win32api, win32con

firstkey = input ('def first key =')
cordinate = random.uniform(391, 904)
cordinatetwo = random.uniform(158, 671)
h = 0

def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
    time.sleep(0.01)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)

keyboard.wait(firstkey)
if keyboard.is_pressed(firstkey):
    while h < 25:
        click(cordinate,cordinatetwo)
        h += 1

I am using VSC (and I think my English is bad)


Solution

  • I believe your error is because of random.uniform() try changing it to randint()

    import time
    import random
    import keyboard
    import win32api, win32con
    from random import randint
    
    firstkey = input ('def first key =')
    cordinate = randint(391, 904)
    cordinatetwo = randint(158, 671)
    h = 0
    
    def click(x,y):
        win32api.SetCursorPos((x,y))
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
        time.sleep(0.01)
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
    
    keyboard.wait(firstkey)
    if keyboard.is_pressed(firstkey):
        while h < 25:
            click(cordinate,cordinatetwo)
            h += 1