Selenium常用函数(浏览器导航,文件上传,浏览器参数设置)

浏览器导航

这部分是Selenium中最基础的页面操作,用于控制浏览器的前进、后退、刷新等行为。

|--------|--------------------------------|--------------------|
| 操作 | 代码 | 说明 |
| 打开网站 | driver.get("https://tool.lu/") | 加载指定URL,等待页面完全加载完成 |
| 后退 | driver.back() | 回到浏览器历史记录的上一页 |
| 前进 | driver.forward() | 前进到浏览器历史记录的下一页 |
| 刷新 | driver.refresh() | 重新加载当前页面 |

注意: get()会等待页面加载完成后才执行后续代码;back()/forward()/refresh() 也会触发页面加载,实际项目中建议配合显式等待使用。


文件上传

核心原理

  • 常规文件上传会弹出系统窗口,Selenium无法直接识别和操作系统控件。
  • 但对于<input type="file" /> 类型的上传元素,可以直接通过send_keys() 传入文件绝对路径来实现上传,绕过系统窗口。

示例代码

复制代码
# 打开包含上传控件的页面
driver.get("file:///D:/file/selenium4html/selenium-html/upload.html")
# 定位文件上传input元素
ele = driver.find_element(By.CSS_SELECTOR, "body > div > div > input[type=file]")
# 传入文件绝对路径,完成上传
ele.send_keys("D:\\file\\test.txt")

关键要点

  • 必须定位到页面中的<input type="file" /> 元素,不能定位外层按钮。
  • 路径需使用绝对路径 ,Windows系统中路径分隔符可使用双反斜杠 \\ 或正斜杠 /

浏览器参数设置

1) 无头模式(Headless)

让浏览器在后台运行,不显示GUI界面,适合CI/CD服务器或自动化测试环境。

示例代码
复制代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

options = webdriver.ChromeOptions()
# 开启无头模式
options.add_argument("--headless=new")  # 新版Chrome推荐写法
driver = webdriver.Chrome(
    service=ChromeService(ChromeDriverManager().install()),
    options=options
)

2) 页面加载策略

控制Selenium等待页面加载完成的时机,优化测试执行速度。

|------------|----------------------------------|--------------------|
| 策略 | 说明 | 适用场景 |
| (默认)normal | 等待所有资源(图片、CSS、JS)下载完成后,才认为页面加载完成 | 大多数常规场景 |
| eager | 等待DOM加载完成,但不等待图片等其他资源 | 页面资源加载慢、不影响核心交互的场景 |
| none | 不等待页面加载,立即执行后续代码 | 配合显式等待手动控制所有加载流程 |

示例代码(以eager为例)
复制代码
options = webdriver.ChromeOptions()
options.page_load_strategy = "eager"
driver = webdriver.Chrome(
    service=ChromeService(ChromeDriverManager().install()),
    options=options
)

注意:使用eager或none时,必须配合显式等待,否则可能出现元素未加载完成就执行操作的问题。

相关推荐
WL_Aurora15 小时前
Python爬虫实战(七):Selenium自动化采集苏宁易购商品数据
爬虫·python·selenium
德思特1 天前
通过 Wireshark 抓取串口命令
网络协议·测试工具·wireshark
影sir1 天前
Selenium常用函数(窗口与弹窗)
selenium·测试工具
Luminbox紫创测控2 天前
基于环境舱的新能源汽车三高试验方法与热响应评估
大数据·人工智能·测试工具·汽车·安全性测试·测试标准
菠萝猫yena2 天前
【读书笔记】《测试架构师修炼之道》读书笔记
功能测试·测试工具·单元测试
PhotonixBay2 天前
金属增材制造表面测量:共聚焦显微镜参数优化实践
人工智能·测试工具·制造
LT10157974442 天前
2026年 AI+RPA平台选型指南:智能自动化高效落地
测试工具
写出高质量的博客3 天前
Selenium常用方法
selenium·测试工具