教你怎么用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的Flask框架中实现全文搜索功能
Apr 20 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
Jun 28 Python
python使用正则表达式替换匹配成功的组
Nov 17 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
Python Django 前后端分离 API的方法
Aug 28 Python
简单了解python列表和元组的区别
May 14 Python
Python使用正则表达式实现爬虫数据抽取
Aug 17 Python
python实现猜拳游戏项目
Nov 30 Python
python asyncio 协程库的使用
Jan 21 Python
Matplotlib绘制混淆矩阵的实现
May 27 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
Jun 09 Python
python中urllib包的网络请求教程
Apr 19 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
php去除头尾空格的2种方法
2015/03/16 PHP
6个超实用的PHP代码片段
2015/08/10 PHP
php实现的二分查找算法示例
2017/06/20 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
利用python写个下载teahour音频的小脚本
2017/05/08 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
中间件分为哪几类
2016/09/18 面试题
企划主管岗位职责
2013/12/12 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
英语投诉信范文
2015/07/03 职场文书
pytorch Dropout过拟合的操作
2021/05/27 Python
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python