Selenium控制浏览器常见操作示例

 更新时间:2018年08月13日 09:49:11   作者:喷跑的豆子  
这篇文章主要介绍了Selenium控制浏览器常见操作,结合实例形式分析了Selenium针对浏览器的窗口大小控制、前进、后退、刷新、截屏等相关操作技巧,需要的朋友可以参考下

本文实例讲述了Selenium控制浏览器常见操作。分享给大家供大家参考,具体如下:

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

有时候我们希望能让浏览器以某种尺寸打开,让访问页面在这种尺寸下运行,或者控制浏览器进行后退与前进操作等等

控制浏览器窗口大小

有时我们需要对移动站点的样式进行评估,可是浏览器的正常尺寸很显然是不合适的, 此时我们会想将浏览器设置成移动端大小就可以了。WebDriver提供了set_window_size()方法来设置浏览器大小:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')
driver.set_window_size(480,800)

除了set_window_size方法来设置浏览器的大小,WebDriver还提供了一个设置浏览器全屏显示的方法maximize_window(),其用法与set_window_size()相同,不同的是maximize_window()无需传递参数:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')
driver.maximize_window()

值得注意的是,在定位元素的时候,有些网页如果不是全屏展示时,将由可能定位不准!!!

控制浏览器前进与后退

在使用浏览器浏览网页时,浏览器提供了前进和后退的按钮,可以方便的在浏览过的网页之间进行切换,WebDriver也提供了相应的back()forward()方法来模拟后退和前进按钮,下面举个简单的栗子来演示这两个方法的使用:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com')
driver.get('https://blog.csdn.net/y472360651')
# 后退至百度页面
driver.back()
# 前进至博客页面
driver.forward()

刷新页面

有时候需要手动刷新(F5)页面,WebDriver也提供了相应的方法refresh(),使用起来很简单,如下:

driver.refresh()

窗口截屏

自动化用例是由程序去执行的,因此有些时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能够对当前窗口截图保存,那么通过图片就可以非常直观的看出出错的原因。WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get("https://www.baidu.com/")
driver.get_screenshot_as_file("abc.png")

值得注意的是,当使用窗口截屏功能时,图片的扩展名必须是png!!!

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python Socket编程技巧总结》、《Python URL操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • python脚本替换指定行实现步骤

    python脚本替换指定行实现步骤

    这篇文章主要介绍了 python脚本替换指定行实现步骤的相关资料,需要的朋友可以参考下
    2017-07-07
  • Python面向对象之内置函数相关知识总结

    Python面向对象之内置函数相关知识总结

    本次要总结的的内置函数共8个,他们都跟面向对象的知识相关,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • 一行Python代码制作动态二维码的实现

    一行Python代码制作动态二维码的实现

    这篇文章主要介绍了一行Python代码制作动态二维码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • python点云地面点滤波(Progressive Morphological Filter)算法介绍(PCL库)

    python点云地面点滤波(Progressive Morphological Filter)算法介绍(PCL库)

    这篇文章主要介绍了python点云地面点滤波(Progressive Morphological Filter)算法介绍(PCL库),了解膨胀/腐蚀这两个基础操作,可以通过对其进行简单组合来形成开/闭操作,需要的朋友可以参考下
    2021-08-08
  • python实现列表中由数值查到索引的方法

    python实现列表中由数值查到索引的方法

    今天小编就为大家分享一篇python实现列表中由数值查到索引的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python+numpy实现的基本矩阵操作示例

    python+numpy实现的基本矩阵操作示例

    这篇文章主要介绍了python+numpy实现的基本矩阵操作,结合实例形式分析了Python使用numpy模块针对矩阵进行创建、增删查改、索引、运算相关操作实现技巧,注释中包含有详细的说明,需要的朋友可以参考下
    2019-07-07
  • Python中append浅拷贝机制详解

    Python中append浅拷贝机制详解

    在 Python 中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,Python 并没有拷贝这个对象,而只是拷贝了这个对象的引用,我们称之为浅拷贝,这篇文章主要介绍了Python中append浅拷贝机制,需要的朋友可以参考下
    2023-02-02
  • 使用jupyter notebook运行python和R的步骤

    使用jupyter notebook运行python和R的步骤

    这篇文章主要介绍了使用jupyter notebook运行python和R的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 一文带你了解Python中的枚举(enum)

    一文带你了解Python中的枚举(enum)

    这篇文章一文带你了解Python中的枚举(enum),在Python中,枚举和我们在对象中定义的类变量时一样的,每一个类变量就是一个枚举项,需要的朋友可以参考下
    2023-04-04
  • python神经网络TensorFlow简介常用基本操作教程

    python神经网络TensorFlow简介常用基本操作教程

    这篇文章主要介绍了python神经网络入门TensorFlow简介常用基本操作教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11

最新评论