教你怎么用Python selenium操作浏览器对象的基础API


Posted in Python onJune 23, 2021

前言

相比于高大上的各种Selenium进阶指南,个人认为夯实基础至关重要。

在Selenium测试框架的API中,主要分为三大类:

1.对浏览器本身的相关操作。

2.对浏览器页面中,元素的定位操作。

3.对浏览器页面中元素进行定位后,对该元素的一些操作。如:点击、输入等操作。

我们本篇文章先说说Selenium框架对浏览器对象的基础操作。

一、导入Selenium库

# 导入Selenium驱动
from selenium import webdriver

二、创建浏览器对象

即:打开一个浏览器。

# 语法:driver = webdriver.xxx()
driver = webdriver.Chrome()

# 使用dir(driver)查看浏览器对象的操作
print(dir(driver))

三、浏览器窗口大小设置

# 1.设置浏览器尺寸
# 宽480、高800(最好根据显示器分别调整)
driver.set_window_size(480, 800)

# 2.获取浏览器尺寸
driver.get_window_size()		

# 3.浏览器窗口最大化(很常用)
driver.maximize_window()

示例:

"""
1.学习目标
    掌握selenium中控制浏览器窗口大小的方法
2.操作步骤(方法)
    2.1设置浏览器窗口大小,宽度,高度
        driver.set_window_size(宽,高)
    2.2 获取浏览器窗口大小
        driver.get_window_size()
    2.3将浏览器窗口最大化
        driver.maximize_window)
3.需求
    使用selenium实现对浏览器窗口大小的设置
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep

# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()

# 3.设置浏览器窗口大小
# 3.1 将窗口设置为宽100,高200
# (windowHandle参数为窗口句柄,以后再说)
driver.set_window_size(100, 200)
sleep(3)

# 3.2 获取浏览器窗口大小
window_size = driver.get_window_size()
print(window_size)

# 3.3 窗口最大化
driver.maximize_window()

# 4.关闭浏览器
driver.quit()
"""
输出结果:
{'width': 516, 'height': 200}
"""

四、浏览器位置设置

# 1.获取浏览器位置
driver.get_window_position()		

# 2.设置浏览器位置
driver.set_window_position(x,y)

注:显示器以左上角为(0,0),所有的位置操作都是相对于显示器左上角展开的位移操作,单位是像素。

示例:

"""
1.学习目标
    掌握selenium中控制浏览器窗口位置的方法
2.操作步骤(方法)
    2.1 设置浏览器窗口位置(横纵坐标)
        set_window_position(横坐标,纵坐标)
    2.2 获取浏览器窗口位置
        driver.get_window_position()

3.需求
    使用selenium实现对浏览器窗口位置的设置
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep

# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()

# 3.设置浏览器位置
# 3.1 将窗口的位置设置为100,300
driver.set_window_position(100, 300)
sleep(2)

# 3.2 获取浏览器窗口位置
window_position = driver.get_window_position()
print(window_position)

# 4.关闭浏览器
driver.quit()

"""
输出结果:
{'x': 100, 'y': 300}
"""

五、请求访问网址

# 请求某个url
# 语法:driver.get(url)	
# 工作中写法
url = "http://www.baidu.com"
driver.get(url)

示例:

"""
1.学习目标
    掌握selenium中控制浏览器访问指定网站的操作
2.操作步骤(方法)
    请求某个url
    语法:driver.get(url)
3.需求
    使用selenium实现对浏览器访问指定网站的操作
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep

# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()

# 3.访问网站
url = "http://www.baidu.com"
driver.get(url)
sleep(2)

# 4.关闭浏览器
driver.quit()

六、浏览器页面前进、后退和刷新

# 1.页面前进
driver.forward()

# 2.页面后退
driver.back()

# 3.页面刷新
driver.refresh()

示例:

"""
1.学习目标
    掌握selenium控制浏览器的前进,后退,刷新
2.操作步骤(语法)
    2.1前进
        driver.forward()
    2.2后退
        driver.back()
    2.3刷新
        driver.refresh()
3.需求
    使用谷歌浏览器分别打开百度,京东,淘宝,使用前进,后退,刷新方法
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep

# 2.打开浏览器---谷歌浏览器
driver = webdriver.Chrome()
# 3.窗口最大化
driver.maximize_window()
sleep(2)
# 4.输入网址百度,京东,淘宝
driver.get("http://www.baidu.com")
sleep(2)
driver.get("http://www.jd.com")
sleep(2)
driver.get("http://www.taobao.com")
sleep(2)
# 5.使用前进,后退,刷新命令
# 前进
driver.back()  # 后退到京东
sleep(2)
driver.back()  # 后退到百度
sleep(2)
# 后退
driver.forward()  # 前进到京东
sleep(2)
driver.forward()  # 前进到淘宝
sleep(2)

# 刷新
driver.refresh()  # 保持在淘宝页面
sleep(2)

# 6.关闭浏览器
driver.quit()

七、关闭浏览器

(1)关闭当前窗口

# 只关闭当前浏览器窗口
driver.close()

(2)退出驱动并关闭所有关联的窗口

# 即关闭浏览器窗口,同时关闭浏览器驱动
driver.quit()

到此这篇关于教你怎么用Python selenium操作浏览器对象的基础API的文章就介绍到这了,更多相关Python selenium操作API内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅析Python中的多重继承
Apr 28 Python
Python3读取文件常用方法实例分析
May 22 Python
python中字符串前面加r的作用
Jun 04 Python
python 换位密码算法的实例详解
Jul 19 Python
python实现顺序表的简单代码
Sep 28 Python
pygame游戏之旅 python和pygame安装教程
Nov 20 Python
Django JWT Token RestfulAPI用户认证详解
Jan 23 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
Aug 12 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
Python改变对象的字符串显示的方法
Aug 01 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 Python
python中实现词云图的示例
Dec 19 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
PHP+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
实用函数8
2007/11/08 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
python查找第k小元素代码分享
2013/12/18 Python
Python闭包实现计数器的方法
2015/05/05 Python
Python读取键盘输入的2种方法
2015/06/16 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
Mac安装python3的方法步骤
2019/08/09 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
python 基于opencv操作摄像头
2020/12/24 Python
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
办公室内勤工作职责
2013/12/11 职场文书
旅游管理专业个人求职信范文
2013/12/24 职场文书
教师简历自我评价
2014/02/03 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
股权转让协议书范本
2014/04/12 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
三方协议书
2015/01/27 职场文书
个人求职信格式范文
2015/03/20 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
Css预编语言及区别详解
2021/04/25 HTML / CSS
python pygame 开发五子棋双人对弈
2022/05/02 Python