1、安装PyObjC模块
pip3 install pyobjc-core
pip3 install pyobjc
pip3 install pyautogui
2、上传文件
2.1 获取文件路径(也可以使用绝对路径),如:
path = str(pathlib.Path(__file__).parent.parent / "datas" / "pic.png")
需要注意的是,如果不进行类型转换,则代码会类型报错
2.2 自动写入文件路径
pyautogui.write(path, interval=0.2)
添加interval参数,是为了解决键入速度过快导致的路径缺失问题
2.3 选择文件并上传
# 进入文件所在目录
pyautogui.press('enter')
sleep(1)
# 打开文件上传
pyautogui.press('enter')
sleep(2)
# 点击保存按钮(此处可自行封装方法去调用)
self.click(driver, self.save_info_button)
注意:建议执行代码前,输入法为英文状态,或者获取文件路径前增加以下代码,原因是中文状态下路径输入完成需要enter一下来结束输入状态,那么上述代码执行后页面会停滞在文件选择页面致使用例失败,需要再enter一下才会打开文件上传(即需要三次enter)。
pyautogui.press('shift')
另外,不使用presses参数,是因为代码实际执行速度太快,第二次enter很可能未生效,需要根据实际情况做调整,当然代码含义相同都是按两次enter。
pyautogui.press('enter', presses=2)