教你怎么用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 相关文章推荐
Python3.2模拟实现webqq登录
Feb 15 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
在Python dataframe中出生日期转化为年龄的实现方法
Oct 20 Python
Python subprocess库的使用详解
Oct 26 Python
修改python plot折线图的坐标轴刻度方法
Dec 13 Python
Python初学者常见错误详解
Jul 02 Python
如何使用django的MTV开发模式返回一个网页
Jul 22 Python
详解pandas中MultiIndex和对象实际索引不一致问题
Jul 23 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Python采集股票数据并制作可视化柱状图
Apr 04 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
php 日期时间处理函数小结
2009/12/18 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
python中函数总结之装饰器闭包详解
2016/06/12 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
python+opencv实现车道线检测
2021/02/19 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
贷款承诺书范文
2014/05/19 职场文书
监理中标通知书
2015/04/16 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书