selenium+python自动化测试之使用webdriver操作浏览器的方法

作者:zh175578809 时间:2023-06-28 03:04:47 

WebDriver简介

selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。从这篇博客开始,将学习使用如何使用python调用webdriver框架对浏览器进行一系列的操作

打开浏览器

在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下:


from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
print(driver.title)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
driver.close()

运行脚本的第一步是打开浏览器,使用webdriver.Chrome()打开谷歌浏览器,如果要指定其他浏览器,比如要使用Firefox或者IE浏览器,更换浏览器名称就可以了


driver = webdriver.Chrome() //打开Chrome浏览器
driver = webdriver.Firefox() //打开Firefox浏览器
driver = webdriver.Ie() //打开IE浏览器

第二步操作是打开页面,使用driver.get(url)方法来打开网页链接,例如脚本中打开百度首页


driver.get(http://www.baidu.com)

接下来是print(driver.title),使用driver.title获取当前页面的title,title就是在浏览器tab上显示的内容,例如百度首页的标题是“百度一下,你就知道”

浏览器前进后退

在当前页面打开一个新的链接后,如果想回退到前一个页面,使用如下driver.back(),相当于点击了浏览器的后退按钮

和back操作对应的是浏览器前进操作driver.forward(),相当于点击了浏览器的前进按钮


driver.back() //回到上一个页面
driver.forward() //切换到下一个页面

最大化浏览器窗口

浏览器运行后,如果页面没有最大化,可以调用driver.maximize_window()将浏览器最大化,相当于点击了页面右上角的最大化按钮

也可以自定义浏览器的尺寸


driver.maximize_window() //浏览器窗口最大化
driver.set_window_size(800, 720) //设置窗口大小为800*720

屏幕截图

打开页面以后,可以对页面进行截屏,在遇到异常的时候,根据截图可以快速定位问题的原因所在

浏览器截屏操作,参数是截屏的图片保存路径:


driver.get_screenshot_as_file("D:/data/test.png")

页面刷新

有时页面过期后,网页上显示的信息可能不是最新的,需要对页面进行刷新,使用refresh()方法刷新页面,相当于点击浏览器的刷新按钮


driver.refresh() //重新加载页面

退出浏览器

在测试脚本运行完后,一般会在最后关闭浏览器,有两种方法关闭浏览器,close()方法用于关闭当前页面,quit()方法关闭所有和当前测试有关的浏览器窗口


driver.close() //关闭当前页面
driver.quit() //关闭所有由当前测试脚本打开的页面

这篇博客介绍了操作浏览器的各种方法,下篇将介绍如何查找页面上的元素

来源:https://blog.csdn.net/zh175578809/article/details/76359371

标签:selenium,python,webdriver,浏览器
0
投稿

猜你喜欢

  • 微信小程序页面缩放式侧滑效果的实现代码

    2023-09-02 05:21:45
  • JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】

    2024-04-19 10:15:32
  • 利用Javascript判断操作系统的类型实现不同操作系统下的兼容性

    2024-02-27 00:00:25
  • MySQL 密码设置

    2024-01-28 11:53:59
  • JS应用正则表达式转换大小写示例

    2024-04-26 17:11:14
  • python提取内容关键词的方法

    2021-07-29 00:45:37
  • python合并同类型excel表格的方法

    2022-05-08 03:51:52
  • 在python里协程使用同步锁Lock的实例

    2022-07-31 14:26:04
  • js+html5操作sqlite数据库的方法

    2024-01-23 18:31:05
  • Python入门教程(三十)Python的PIP

    2022-03-08 02:32:51
  • Git创建子分支,合并分支并提交

    2022-01-16 19:27:29
  • 客户认同的就是好商品

    2009-08-31 16:41:00
  • Python&Matlab实现蚂蚁群算法求解最短路径问题的示例

    2021-09-18 15:40:11
  • Mysql中报错函数floor()函数和rand()函数的配合使用及原理详解

    2024-01-21 13:41:03
  • 用tensorflow实现弹性网络回归算法

    2023-07-21 16:52:18
  • javascript跨域原因以及解决方案分享

    2024-04-10 10:44:32
  • php数组转换js数组操作及json_encode的用法详解

    2024-05-03 15:13:44
  • IE6实现min-width

    2008-06-12 12:40:00
  • 使用php来实现网络服务

    2024-06-05 09:46:46
  • python实现超市管理系统(后台管理)

    2022-08-17 06:50:22
  • asp之家 网络编程 m.aspxhome.com