文件上傳操作也比較常見功能之一,上傳功能沒有用到新有方法或函數,關鍵是思路。上傳過程一般要打開一個本地窗口,從窗口選擇本地文件添加。所以,一般會卡在如何操作本地窗口添加上傳文件。
其實,在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)
結果圖片完美上傳成功!