文件的上传
- 调用
send_keys()
方法上传文件 send_keys()
的使用场景:-
- 代码实现:
element = driver.find_element()
element.send_keys()
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver = webdriver.Chrome()
element = driver.find_element(By.XPATH, '//*[@id="app"]/div/section/section/main/div/div[2]/div[1]/div/div/div[4]/div[1]/div/div[2]/form/div[9]/div/div[1]/div[1]/div/input')
element.send_keys(r'C:\Users\Olivia\Pictures\300-300\22.gif')
sleep(5)
driver.quit()
文件的下载
图片下载
实现步骤
- 打开图片存在的页面
- 在页面中定位到该图片元素
- 使用
element.attribut('属性名')
方法获取src
属性的属性值,即为图片的存放地址url - 调用
reqests.get(url)
方法获取图片数据(图片数据为二进制数据);若获取数据为二进制,则需要reqests.get(url).content
;若获取数据为文件类型,则需要reqests.get(url).text
- 保存文件到本地
【示例】:下载百度首页的logo图片
from selenium import webdriver
from selenium.webdriver.common.by import By
import requests
driver = webdriver.Chrome()
driver.get('https:www.baidu.com')
logo_element = driver.find_element(By.ID, 's_lg_img')
logo_url = logo_element.get_attribute('src')
datas = requests.get(logo_url).content
with open(r'E:\123\baidu.png', 'wb') as file:
file.write(datas)
文件的下载
示例
import os
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
param = {
'profile.default_content_settings.popups': 0,
'download.default_directory': os.getcwd()
}
options.add_experimental_option('prefs', param)
driver = webdriver.Chrome(options=options)
driver.get('https://pypi.org/project/selenium/#files')
element= driver.find_element(By.LINK_TEXT, 'selenium-4.8.2.tar.gz')
element.click()
sleep(3)
driver.quit()