教你怎么用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获取android设备的GPS信息脚本分享
Mar 06 Python
Python的Django框架中的表单处理示例
Jul 17 Python
Python的Django框架中从url中捕捉文本的方法
Jul 20 Python
django用户注册、登录、注销和用户扩展的示例
Mar 19 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
Python下使用Scrapy爬取网页内容的实例
May 21 Python
Django框架模板介绍
Jan 15 Python
Pandas库之DataFrame使用的学习笔记
Jun 21 Python
elasticsearch python 查询的两种方法
Aug 04 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
python 利用panda 实现列联表(交叉表)
Feb 06 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
php之Memcache学习笔记
2013/06/17 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Python线程之定位与销毁的实现
2019/02/17 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
python默认参数调用方法解析
2020/02/09 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
大国崛起观后感
2015/06/02 职场文书