文件上传操作也比较常见功能之一,上传功能没有用到新有方法或函数,关键是思路。上传过程一般要打开一个本地窗口,从窗口选择本地文件添加。所以,一般会卡在如何操作本地窗口添加上传文件。
其实,在selenium webdriver没我们想的那么复杂;只要定位上传按钮,通send_keys添加本地文件路径就可以了。绝对路径和相对路径都可以,关键是上传的文件存在。下面通地例子演示。
以百度为例:
这里是代码:
#!/usr/bin/env python
# _*_ coding:utf-8 _*
from selenium import webdriver
import os
import time
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
time.sleep(1)
# 百度上传图片Input类型
driver.find_element_by_class_name("soutu-btn").click()
time.sleep(2)
driver.find_element_by_class_name("upload-pic").send_keys(r'C:\Users\Administrator\PycharmProjects\untitled\a.png')
time.sleep(2)
结果图片完美上传成功!