鼠标键盘操作, 窗口控制。


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)
原文地址:https://www.cnblogs.com/pythonClub/p/14381771.html