Bootstrap

Selenium上传文件与webdriver_helper的用法(Web UI)

__author__ = 'Jeff.xie'

import os
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

# 新建一个txt,里面内容如下,然后命名为upload.html
# <h2>upload file<hr>
# <input type="file">


driver = webdriver.Chrome()
driver.get("file:///D:/upload.html")   #加载本地文件

input_ele = driver.find_element(By.XPATH,"/html/body/h2/input")
# input_ele.send_keys(r"D:/Setting.png")

#注意:文件一定要绝对路径
# 如果想要使用相对路径,可以把图片放在代码中,然后获取当前项目所在路径,与代码中图片的相对路径拼接

print(os.getcwd())
project_Path = os.getcwd()
pic_abs= project_Path+"/java.jpg"
input_ele.send_keys(pic_abs)

sleep(1)

为什么要使用绝对路径
selenium 原理:
python 控制chromedriver, chromedriver控制chrome浏览器
如果是相对路径就会有歧义,不知道是相对于谁的路径



webdriver_helper 的基本使用


搭建环境,需要Python3.9以上
pip install webdriver-helper


from webdriver_helper import debugger,get_webdriver

#get_webdriver()后,不使用with也会自动关闭浏览器
#with get_webdriver() as driver:
#    driver.get("https://www.baidu.com")

#使用get_webdriver会在程序执行完之后自动关闭浏览器
driver = get_webdriver()
driver.get("https://www.baidu.com")
debugger(driver)  #检查报错的原因



;