教你怎么用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编写简单的画图板程序的示例教程
Dec 08 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
Python高级特性 切片 迭代解析
Aug 23 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
简单的命令查看安装的python版本号
Aug 28 Python
Python实现简单猜数字游戏
Feb 03 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP 文件上传限制问题
2019/09/01 PHP
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
2014/01/02 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
python开头的coding设置方法
2019/08/08 Python
python中uuid模块实例浅析
2020/12/29 Python
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
求职信格式要求
2014/05/23 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
违章停车检讨书
2014/10/21 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
高二化学教学反思
2016/02/22 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL