selenium---上传文件(send_keys)
web自动化中经常会遇到文件上传的操作,这时候我们应该怎么进行元素定位,已经选择我们对应的文件进行上传呢?selenium中有没有其中的方法可以帮助我们呢?
文件上传
文件上传一般大致可以分为两种,一种是input标签的,一种非input标签的。这里肯定有小伙伴们什么是input标签的,这里表示的就是HTML代码中的input标签。
这里已百度为例:
我们找到选择图片这里,查看标签名为input标签。既然是input标签,那么就直接可以通过send_keys方法进行输入。
注:这里的输入为需要上传文件的地址。
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.baidu.com') # 定位图片 driver.find_element_by_class_name('soutu-btn').click() time.sleep(3) # 定位选择图片 driver.find_element_by_class_name('upload-pic').send_keys('D:\\123.jpg')
从上图可以看出来,我们已经成功的通过send_keys成功的上传图片了。那么如果不是input标签的应该怎么做呢?前面介绍过pywinauto来进行控制windows控件来进行上传文件。大家可以动手自己写一写,安静后面给大家补上。
如果安静写的文章如果对您有帮助,点个关注,持续更新。不懂的或者写错的地方,可以下方进行留言。感谢支持!