教你怎么用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 14 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
python实现简单图片物体标注工具
Mar 18 Python
python的几种矩阵相乘的公式详解
Jul 10 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
Pycharm+Python+PyQt5使用详解
Sep 25 Python
从pandas一个单元格的字符串中提取字符串方式
Dec 17 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
Python中字符串List按照长度排序
2019/07/01 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
超市中秋节促销方案
2014/03/21 职场文书
信息工作经验交流材料
2014/05/28 职场文书
小学社会实践活动总结
2014/07/03 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
医德医风学习心得体会
2016/01/25 职场文书
车辆挂靠协议书
2016/03/23 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技