MacOS系统下python实现自动上传文件操作
# coding: utf-8
import time
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from pykeyboard import PyKeyboard
from pymouse import PyMouse
import pyperclip
import os
"""
文件上传操作
1、支持直接输入(input标签类型)
2、不可以直接输入,只能选择(非inPut标签类型)
MAC引入python第三方库:
1、pip install PyUserInput
2、pip install pyperclip
Windows引入python第三方库
1、pip install pywin32
"""
#集成jenkins时使用
def get_file_path(filepath):
#获取上一级路径
up_path = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
add_path = os.path.join(up_path, filepath)
return add_path
def upload_file(file):
#创建鼠标对象
k = PyKeyboard()
m = PyMouse()
filepath = "/"
#模拟快捷健Conmand+shift+G
time.sleep(3)
k.press_keys(["Command", "Shift", "G"])
#输入文件路径
x_dim, y_dim = m.screen_size()
m.click(x_dim // 2, y_dim // 2, 1)
#复制文件路径开头的斜杠/
pyperclip.copy(filepath)
# 粘贴斜杠/
k.press_keys(["Command", "V"])
time.sleep(2)
#输入文件全路径进去
k.type_string(file)
time.sleep(2)
k.press_key("Return")
time.sleep(2)
k.press_key("Return")
time.sleep(3)
driver = webdriver.Chrome()
driver.get("https://tinypng.com/")
driver.find_element(By.CSS_SELECTOR, ".icon").click()
#上传文件
upload_file("/Users/zhangsan/Downloads/re.png")
注意点:
-
当前输入法为中文时,输入路径为下图,导致输入后找不到文件夹,切换英文后正常
2. MAC设置--安全与隐私--辅助功能--隐私,打开以下图片中应用程序并勾选上,才能正常控制
三十六般武艺,七十二般变化,修练出个人品牌并发出光芒