教你怎么用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 07 Python
用Python将动态GIF图片倒放播放的方法
Nov 02 Python
Python 专题三 字符串的基础知识
Mar 19 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
Python3实现定时任务的四种方式
Jun 03 Python
在python中,使用scatter绘制散点图的实例
Jul 03 Python
python Popen 获取输出,等待运行完成示例
Dec 30 Python
Python如何在DataFrame增加数值
Feb 14 Python
使用python求解二次规划的问题
Feb 29 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
用python读取xlsx文件
Dec 17 Python
Python一些基本的图像操作和处理总结
Python使用openpyxl批量处理数据
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
opencv-python图像配准(匹配和叠加)的实现
Python初学者必备的文件读写指南
Jun 23 #Python
总结Python连接CS2000的详细步骤
python图片灰度化处理的几种方法
You might like
PHP概述.
2006/10/09 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
Python基于百度AI的文字识别的示例
2018/04/21 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
编程用JAVA解析XML的方式
2013/07/07 面试题
酒店门卫岗位职责
2013/12/29 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
活动总结格式
2014/08/30 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
南湾猴岛导游词
2015/02/09 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
卖车协议书范文
2016/03/23 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
opencv检测动态物体的实现
2021/07/21 Python