美文网首页
31. 常见元素定位 - 文件上传upload

31. 常见元素定位 - 文件上传upload

作者: 薛东弗斯 | 来源:发表于2024-03-14 07:22 被阅读0次

sahitest.com/demo/php/fileUpload.htm

image.png
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://sahitest.com/demo/php/fileUpload.htm')
# 获取input文件上次元素
upload = driver.find_element(By.ID,'file5')
upload.send_keys(r"absloute_path/file.jpg")
driver.find_element(By.NAME,'submit').click()
time.sleep(3)
driver.close()

搭建编程框架

image.png

1. file文件夹用于存放待上传的文件

2. utils文件夹用于存放上传/下载的工具

image.png
# file_upload1.py
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from utils.get_file_path import get_logo_path

path = get_logo_path()   # 获取待上传文件的路径
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://sahitest.com/demo/php/fileUpload.htm')
time.sleep(3)
# 获取input文件上次元素
upload = driver.find_element(By.ID,'file')
time.sleep(3)
upload.send_keys(r"{}".format(path))
# upload.send_keys(r"C:\Users\xxx\PycharmProjects\spider\file\logo.bmp")
time.sleep(3)
driver.find_element(By.NAME,'submit').click()
time.sleep(3)
driver.close()
# get_file_path.py
import os

def get_logo_path():
    path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),"file","logo.bmp")
    return path

上传案例2 有些时候无法用send_keys

上传 - View Design (iviewui.com)
pip install pywinauto

image.png
import time
from pywinauto import keyboard
from selenium import webdriver
from selenium.webdriver.common.by import By
from utils.get_file_path import get_logo_path

path = get_logo_path()   # 获取待上传文件的路径
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://iviewui.com/view-ui-plus/component/form/upload')
driver.implicitly_wait(10)
driver.find_element(By.XPATH,'//button[@class="ivu-btn ivu-btn-default"]').click()
time.sleep(3)
keyboard.send_keys(r"{}".format(path))
time.sleep(3)
keyboard.send_keys('{ENTER}')
time.sleep(3)
driver.close()

相关文章

网友评论

      本文标题:31. 常见元素定位 - 文件上传upload

      本文链接:https://www.haomeiwen.com/subject/pehuzdtx.html