教你怎么用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 获取进程pid号的方法
Mar 10 Python
python使用BeautifulSoup分页网页中超链接的方法
Apr 04 Python
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
Dec 10 Python
python中pip的安装与使用教程
Aug 10 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
Django实现前台上传并显示图片功能
May 29 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
Python+OpenCV图像处理——实现轮廓发现
Oct 23 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
微信小程序用户盒子、宫格列表的实现
2020/07/01 Javascript
Python paramiko模块的使用示例
2018/04/11 Python
python 实现倒排索引的方法
2018/12/25 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
Python用字典构建多级菜单功能
2019/07/11 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
网页设计个人找工作求职信
2013/11/28 职场文书
早餐连锁店计划书
2014/01/08 职场文书
售后服务承诺书模板
2014/05/21 职场文书
助残日活动总结
2014/08/27 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
迟到检讨书
2015/01/26 职场文书
环卫处个人工作总结
2015/03/04 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
MySQL生成千万测试数据以及遇到的问题
2022/08/05 MySQL