selenium3 自动化测试入门 ~~~ 操作浏览器

前言

该教程适用于selenium 3版本,如果已经更新到selenium 4,启动浏览器的方法需要修改,具体可参考:selenium 4 启动浏览器

前置条件(浏览器驱动放置位置)

一、第一种方法

1.下载浏览器驱动

2.粘贴在python根目录下

二、第二种方法

1.下载浏览器驱动

2.指定驱动路径驱动Chrome 浏览器

python 复制代码
	#.\driver\chromedriver.exe 为驱动存放位置,可以是相对路径或者绝对路径
	driver = webdriver.Chrome(executable_path = r'.\driver\chromedriver.exe')

三、第三种方法

1.将浏览器驱动配置在环境变量中

(*注:不建议)

1、启动浏览器(实例化浏览器)

启动浏览器(驱动已放入python根目录下)

python 复制代码
# 启动Chrome浏览器
driver = webdriver.Chrome() 

# 启动Firefox浏览器
driver = webdriver.Firefox()

# 启动IE浏览器
driver = webdriver.Ie()  

2、最大化浏览器

python 复制代码
# driver为实例化浏览器对象(下同)
driver.maximize_window()

3、设置浏览器大小

python 复制代码
# width 400, height 800
driver.set_window_size(480, 800)  

4、打开网页

python 复制代码
# 指定驱动路径 启动 
url = driver.get("https://ww.baidu.com")

5、使用另外窗口打开网页

python 复制代码
# 新开一个窗口,通过执行js来新开一个窗口
js = 'window.open("https://mail.163.com");'
driver.execute_script(js)

6、控制浏览器前进、后退

python 复制代码
driver.get('https://www.zhihu.com/') 
driver.get('https://mail.163.com')  # 在同一窗口重新打开一个网页
driver.back()  # 后退 到知乎
driver.forward()  # 前进 换回到163

7、获取网页标题

python 复制代码
# 获取网页的title
title = driver.title 

8、获取网页的URL

获取的url为当前浏览器地址栏中的url

python 复制代码
# 获取网页的URL
url = driver.current_url  

9、刷新页面

python 复制代码
driver.refresh()

10、获取浏览器窗口大小

python 复制代码
size = driver.get_window_size()	# 返回为字典型 如:{'width': 1050, 'height': 840}

关闭浏览器

python 复制代码
# 关闭的是当前浏览器窗口的页签,存在多个窗口时关闭当前的活动窗口
driver.close()

12、退出浏览器

python 复制代码
# 关闭整个浏览器,包括webdriver的进程也会退出
driver.quit()
相关推荐
Flittly4 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(6)Context Compact (上下文压缩)
python·agent
曲幽14 小时前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
python·sql·postgresql·fastapi·web·postgres·db·asyncpg
用户83562907805119 小时前
使用 C# 在 Excel 中创建数据透视表
后端·python
码路飞1 天前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具
python·ai编程·mcp
dev派1 天前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式
python·langchain
前端付豪1 天前
AI 数学辅导老师项目构想和初始化
前端·后端·python
用户0332126663671 天前
将 PDF 文档转换为图片【Python 教程】
python
悟空爬虫1 天前
UV实战教程,我啥要从Anaconda切换到uv来管理包?
python
dev派1 天前
AI Agent 系统中的常用 Workflow 模式(1)
python·langchain
明月_清风1 天前
从“能用”到“专业”:构建生产级装饰器与三层逻辑拆解
后端·python