教你怎么用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通过ssh-powershell监控windows的方法
Jun 02 Python
requests和lxml实现爬虫的方法
Jun 11 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
Aug 05 Python
tensorflow实现简单逻辑回归
Sep 07 Python
编写多线程Python服务器 最适合基础
Sep 14 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
Django 多环境配置详解
May 14 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
Python 线程池用法简单示例
Oct 02 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
php对称加密算法示例
2014/05/07 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
使用console进行性能测试
2015/04/27 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
Python里disconnect UDP套接字的方法
2015/04/23 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
实例讲解Python3中abs()函数
2019/02/19 Python
python实现自动化上线脚本的示例
2019/07/01 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
易程科技软件测试笔试
2013/03/24 面试题
J2EE面试题大全
2016/08/06 面试题
优秀党支部事迹材料
2014/01/14 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
初三学生评语大全
2014/04/24 职场文书
运动会加油稿30字
2015/07/21 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
python b站视频下载的五种版本
2021/05/27 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js