mac_selenium文件上传

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)

猜你喜欢

转载自blog.csdn.net/sinat_37472649/article/details/142884179