mac不能使用AutoIt,标签也不是input,这种情况下怎么实现上传图片的功能?求大佬解答!
用组合键去实现
贴下网站和对应的界面结构,理论上直接对input进行sendkeys就可以搞定
好的,我明天贴下源码
def get_upload(self,locator,file_path):
"""
上传文件
:param locator:上传文件的定位页面
:param file_path: 文件上传的路径
:return:
"""
self.driver.find_element(*locator).click()
time.sleep(2) #需要稍作等待,因为点击上传按钮到文件选择窗口打开会有延迟
app = application.Application() #实例化Application
#这里用的class而没有加窗口title,主要为保证兼容性
app.connect(class_name = '#32770')#根据class_name找到弹出窗口
app["Dialog"]["Editl"].type_keys(file_path)
app["Dialog"]["Buttonl"].click()
这个操作是针对window系统的
好的大佬,我试试
这个方法是针对window系统的。
self.driver.get("file:///Volumes/Untitled/PycharmProjects/webproject/web_05dom/iframe_demo.html")
action = ActionChains(self.driver)
e= self.driver.find_element_by_name("mfile")
action.click(e).perform()
"""
最好在python3.7版本安装,别的版本会有坑,按照顺序导入
pip install pillow==6.2.2
pip install pyautogui
#处理中文的路径
pip install pyperclip----用于处理剪切板的第三方库
"""
# #发送数据
import pyautogui as ui
sleep(2)
ui.write(r"/Users/huihuilina/Desktop/shuju.txt")
sleep(2)
ui.press("enter",presses=2)
sleep(4)
#处理中文路径文件
import pyperclip
pyperclip.copy("文件路径")
sleep(2)
ui.hotkey('ctrl','v')
ui.press("enter",presses=2)
sleep(4)
1 个赞
大佬这个是用复制粘贴的方法上传吗,但是我这边手动操作复制粘贴是不行的,我拿这个先试下吧,我感觉有点悬啊
如果要是有中文路径需要复制粘贴