教你怎么用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设置检查点简单实现代码
Jul 01 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 Python
对python:print打印时加u的含义详解
Dec 15 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
django中使用POST方法获取POST数据
Aug 20 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
py-charm延长试用期限实例
Dec 22 Python
深入分析python 排序
Aug 24 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 Python
Python 视频画质增强
Apr 28 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
PHP 上传文件的方法(类)
2009/07/30 PHP
解析PHP中$_FILES的使用以及注意事项
2013/07/05 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
php文件上传简单实现方法
2015/01/24 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
js实现简单进度条效果
2020/03/25 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
Python的另外几种语言实现
2015/01/29 Python
Python中操作MySQL入门实例
2015/02/08 Python
详细介绍Python中的偏函数
2015/04/27 Python
python使用多进程的实例详解
2018/09/19 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
电信专业毕业生推荐信
2013/11/18 职场文书
青奥会口号
2014/06/12 职场文书
银行进社区活动总结
2014/07/07 职场文书
校长四风对照检查材料
2014/09/27 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
行政答辩状范文
2015/05/21 职场文书
工资证明范本
2015/06/12 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL