文件上传操作也比较常见功能之一,上传功能没有用到新有方法或函数,关键是思路。
上传过程一般要打开一个本地窗口,从窗口选择本地文件添加。所以,一般会卡在如何操作本地窗口添加上传文件。
其实,在 selenium webdriver 没我们想的那么复杂;只要定位上传按钮,通
send_keys 添加本地文件路径就可以了。绝对路径和相对路径都可以,关键是上传的文件存在。
selenium处理本地文件上传的方法有两种:
1.input标签
很明显,对于input上传,直接send_keys是最简单的解决方案。
#coding:utf-8
from selenium import webdriver
import time
upload = driver.find_element_by_id("albumImgFile")
upload.send_keys("C:\\Users\\Public\\Pictures\\Sample Pictures\\xx.jpg")
注意:有些网页很恶心的,在查看元素的时候,获取的元素不对,导致在上传文件的时候,停留在本地窗口不能继续执行,上传失败。
遇到这种情况,最好就是用 selenium IDE 录制一下,来获取元素的准确id或者name。(我就遇到这样的坑,真是太坑)