标签:使用方法 回车 path 自动化测试 url des baidu sele ret
(此处用百度的上传图片搜索做演示)
首先创建driver对象用于打开百度网址,然后定位并点击照相机图标
from selenium import webdriver #从selenium库中导入webdriver包
from time import sleep
driver = webdriver.Chrome()
url = ‘https://www.baidu.com/‘
driver.get(url)
driver.find_element_by_xpath(‘//*[@id="form"]/span[1]/span[1]‘).click()
接着点击“选择文件” 按钮
注意:此时不能用selenium自带的click方法,可能是浏览器驱动cookie过期,所以无法做到驱动打开window的文件窗口,然后无法click,会出现报错。
driver.find_element_by_class_name(‘upload-pic‘).click()
这时候就可以用click问题的终极解决方案—js操作click。
大家可以看看我别的帖子“自动化测试click不了情况,及解决方案”(欢迎大佬提意见):https://www.cnblogs.com/zz-winkie/p/14768685.html
sleep(2)
driver.execute_script("document.getElementsByClassName(‘upload-pic‘)[0].click()")
sleep(2)
点击完毕后,会出现文件选择框。就可执行以下操作:
安装命令:pip install pywinauto
导入pywinauto.keyboard库的send_keys方法【此处的send_keys方法和selenium的send_keys方法不一样】
创建一个操作桌面窗口的对象 【此时可以形象的理解为这里创建了一个人,帮你操作】
叫这个对象切换窗口到这个文件上传的选择框
定位到文件路径输入框,click点击它。Send_keys键入文件所在的路径,回车输入完毕
定位到文件名输入框,type_keys键入文件名 【这里可以使用send_keys,但是要注意使用方法,最好还是用type_keys吧】
点击打开,完成文件上传
具体操作代码如下
from pywinauto.keyboard import send_keys
# 使用pywinautoc创建一个操作桌面窗口的对象
win1 = pywinauto.Desktop()
# 选择文件上传的窗口 窗口句柄默认为‘打开’
bow1 = win1[‘打开‘]
# 选择文件地址输入框,点击激活
bow1["Toolbar3"].click()
# 键盘输入上传文件的路径
send_keys(r"文件的绝对路径")
# 键盘输入回车,打开该路径
send_keys("{VK_RETURN}")
# 选中文件名输入框,输入文件名
bow1["文件名(&N):Edit"].type_keys("520告白日.jpg")
# bow1["文件名(&N):Edit"].click()
# send_keys("xx文件名")
# 点击打开
bow1["打开(&O)"].click()
标签:使用方法 回车 path 自动化测试 url des baidu sele ret
原文地址:https://www.cnblogs.com/zz-winkie/p/14769325.html