python 中selenium 上传多个文件夹到网站上,怎么编写代码
时间: 2024-10-22 07:22:38 浏览: 18
python+selenium+unittest自动化测试demo
5星 · 资源好评率100%
在Python中使用Selenium库上传多个文件夹到网站,你需要首先安装Selenium、WebDriver(对应浏览器的Driver,如ChromeDriver、FirefoxDriver等)并设置好驱动路径。以下是一个基本的示例,假设你要上传的是本地文件夹里的所有PDF文件:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import os
# 设置浏览器驱动路径
driver = webdriver.Chrome('/path/to/chromedriver') # 替换为你的实际驱动路径
# 选择网页上的文件上传区域
file_input_element = (By.ID, 'file-input-id') or (By.XPATH, '//*[@id="fileInput"]') # 根据目标元素定位
# 指定待上传的文件夹路径
folder_path = '/path/to/your/folder' # 替换为你的文件夹路径
files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.pdf')] # 获取文件夹内所有PDF文件
# 遍历每个文件,模拟点击并选择文件
for file in files:
driver.get(driver.current_url)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable(file_input_element)).send_keys(os.path.abspath(file)) # 等待元素可见并发送文件路径
# 提交表单或其他触发文件上传的操作
submit_button = (By.ID, 'submit-button-id') or (By.XPATH, '//*[@id="submitButton"]')
driver.find_element(*submit_button).click()
# 确认文件已上传
assert "文件已成功上传" in driver.page_source, "上传失败"
# 关闭浏览器
driver.quit()
```
阅读全文