zoukankan      html  css  js  c++  java
  • 鼠标键盘操作, 窗口控制。


    import pyautogui
    from pynput.keyboard import Listener
    import logging

    # 反复执行:win + r和esc 20次
    # i = 0
    # while i<20:
    # pyautogui.hotkey('win', 'r')
    # pyautogui.press('esc')
    # i += 1
    # print(i)

    # =====================================================================================================================
    # =====================================================================================================================
    # =====================================================================================================================

    # import pyautogui
    # screenWidth, screenHeight = pyautogui.size() # 返回屏幕分辨率
    # currentMouseX, currentMouseY = pyautogui.position() # 返回鼠标的所在位置
    # pyautogui.moveTo(100, 150) #移动鼠标到指定位置
    # pyautogui.click() # 单击
    # pyautogui.click(200, 220) # 单击指定位置
    # pyautogui.move(None, 10) # 移动鼠标10个像素
    # pyautogui.doubleClick() # 双击鼠标
    # pyautogui.write('Hello world!', interval=0.25) # 输入字符串,每个字符停留时间0.25秒
    # pyautogui.press('esc') # 退出键
    # pyautogui.keyDown('shift') # Shitf键盘
    # pyautogui.hotkey('ctrl', 'c') # 组合键

    # =====================================================================================================================
    # =====================================================================================================================
    # =====================================================================================================================

    # 显示消息盒子
    #
    # 除了可以控制鼠标键盘外,还可以调用系统弹窗
    #
    # import pyautogui
    # pyautogui.alert('This is an alert box.')
    # pyautogui.confirm('Shall I proceed?')
    # pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
    # pyautogui.prompt('What is your name?')
    # pyautogui.password('Enter password (text will be hidden)')

    # 通过窗口消息盒子可以实现一些简单的人机交互,比如某些地方需要人工输入内容时,这样可以接受用户的指令。
    #
    # 截屏
    #
    # 截图是使用的Pillow模块实现的,截图的用处在于通过图片识别技术识别图片内容,然后通过内容精准定位到某个元素的位置,实现精准点击。
    #
    # import pyautogui
    # im1 = pyautogui.screenshot()
    # im1.save('my_screenshot.png')
    # im2 = pyautogui.screenshot('my_screenshot2.png')

    # =====================================================================================================================
    # =====================================================================================================================
    # =====================================================================================================================

    # 直接监听键盘
    # location = './'
    # logging.basicConfig(filename=(location+'keylogger.txt'), format='%(message)s', level=logging.DEBUG)
    #
    # def press(key):
    # logging.info(key)
    #
    # with Listener(on_press = press) as listener:
    # print('the action to keyboard:')
    # listener.join()

    # =====================================================================================================================
    # =====================================================================================================================
    # =====================================================================================================================


    # wd.current_window_handle  #获取当前窗口句柄
    # wd.window_handles      #获取所有窗口句柄
    # wd.switch_to.window(wd.window_handles)#切换窗口
    #
    # 使用for循环
    # for handles in wd.window_handles: #遍历所有位置码
    # if handles==wd.current_window_handle: #如果遍历的位置码等于之前的窗口,那它就是之前的窗口,不进入
    # print('之前的窗口,不进入')
    # else:
    # wd.switch_to.window(handles) #切换窗口:切换到另外一个窗口(通过位置码进入)
    # wd.find_element_by_xpath('//*[@id="m_nav_2"]').click() #这里已经是对里面的元素进行操作了
    #  简便一些的方法,其实都一样
    #
    #
    # for handles in wd.window_handles: #遍历位置码
    # if handles != wd.current_window_handle: #如果不等于之前的位置码,就是表示是新的窗口
    # wd.switch_to.window(handles) #进入新的窗口
    # wd.find_element_by_link_text('测试环境').click() #对新里窗口元素进行操作
    # else:
    # print() 
    # 注意:如果使用 wd.window_handles 老是获取不到所有窗口句柄,在前面加个时间等待可能会解决 time.sleep(1)
  • 相关阅读:
    前端性能优化
    web缓存
    js实现数组去重并且显示重复的元素和索引值
    前端面试简单整理
    js记录重复字母的个数
    js数组快速排序
    sql数据库链接
    w3cschool -css
    w3cschool -html
    A*算法在栅格地图上的路径搜索(python实现)
  • 原文地址:https://www.cnblogs.com/pythonClub/p/14381771.html
Copyright © 2011-2022 走看看