Python + Selenium —— 常用控制方法!

这篇具有很好参考价值的文章主要介绍了Python + Selenium —— 常用控制方法!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python + Selenium —— 常用控制方法!,测试工程师,软件测试,自动化测试,python,selenium,接口测试,自动化测试,测试工具,性能测试,软件测试

Selenium 体系中用来操作浏览器的 API 就是 WebDriver,WebDriver 针对多种语言都实现了一套 API,支持多种编程语言。

Selenium 通常用来做自动化测试,或者编写网络爬虫。

通常我们说的 Selenium 自动化操作,指的就是 WebDriver 中提供的控制方法。一般我们讲 Selenium 多半都是在谈 WebDriver。

Webdirver 中提供了对浏览器、网页元素、鼠标键盘等操作方法:

  • 浏览器操作: 打开和关闭浏览器、改变浏览器分辨率,切换窗口,模拟刷新等

  • 页面元素定位: WebDriver 中提供了 Id、Name、Link text、Css、Xpath 等定位方式,用于查找需要操作的网页元素

  • 页面元素操作: 找到元素都,就可以对元素进行操作。比如点击click、输入send_keys、清空文本clear、获取文本text、获取属性get_attribute

  • 其他方法: 页面等待、frame 切换、调用JS、模拟鼠标键盘等

启动浏览器

对于 WebDriver 的控制方法,先从对浏览器的基本控制说起。要操作网页元素,首先需要启动浏览器,下面的代码就实现启动浏览器,并打开百度首页:

# 引入webdriver	
from selenium import webdriver	
# 启动 chrome 浏览器
driver = webdriver.Chrome(executable_path='driver/chromedriver.exe')	
# 打开百度首页	
driver.get("https://www.baidu.com")	

executable_path:
Python + Selenium环境搭建 中提到了浏览器驱动的部署,一般我们都放在环境变量中,方便使用。
如果你不想放环境变量,可以通过此参数指定驱动 (如:chromedriver.exe) 的绝对路径或相对路径。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

Python + Selenium —— 常用控制方法!,测试工程师,软件测试,自动化测试,python,selenium,接口测试,自动化测试,测试工具,性能测试,软件测试

浏览器控制

控制浏览器大小

通过 WebDriver 打开浏览器一般默认都是窗口状态(非全屏),这可能会导致某些网页显示不全,无法定位和操作某些页面元素。

可以通过 WebDriver 控制浏览器的大小:

driver.maximize_window()	# 浏览器最大化
driver.set_window_size(480, 800)	# 设置浏览器480,800为像素大小
driver.minimize_window()	# 浏览器最小化

一般,用 maximize_window() 方法最大化即可。

后退、前进

在使用浏览器的过程中,为了方便在浏览过的网页之间切换,WebDriver 也提供了对应的 back() 和 forword() 方法来模拟后退和前进按钮。

driver.back()			 # 后退到上一个页面
driver.forward()		 # 前进到下一个页面

如无特殊需要,不建议使用这两个方法。

浏览器刷新

有时候需要手动刷新(F5)页面,例如页面上有些统计字段,当数据发生改变时,并不会及时变化,需要刷新页面后才会变化。此时可以使用模拟浏览器刷新的方法 refresh()。

driver.refresh()         # 浏览器刷新,与F5同理

退出

WebDriver 提供了两种退出方式:close() 和 quit(),close() 方法只关闭当前窗口,quit() 则完全退出(删除 session,并关闭浏览器驱动)。

driver.close()			 # 关闭当前窗口,不会关闭浏览器驱动
driver.quit()			 # 退出所有窗口并关闭浏览器驱动

关于 close() 与 quit():
close() 仅关闭当前窗口,不会关闭浏览器驱动。
某些浏览器默认情况下,只有一个窗口时,关闭窗口的时候也会自动关闭浏览器。这会造成一个错觉,觉得 close() 也把浏览器关闭了。
对 WebDriver 来说,你并没有关闭浏览器,你只是关闭了一个窗口而已,所以浏览器驱动还处于开启状态,Python 的进程也并未停止。
quit() 会关闭浏览器,删除 session,清理运行过程。
所以,当你想退出时,使用 quit() 而不是 close()。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

Python + Selenium —— 常用控制方法!,测试工程师,软件测试,自动化测试,python,selenium,接口测试,自动化测试,测试工具,性能测试,软件测试

最后: 可以在公众号:自动化测试老司机 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!文章来源地址https://www.toymoban.com/news/detail-821207.html

到了这里,关于Python + Selenium —— 常用控制方法!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安全测试-优秀测试工程师必备的4项安全测试方法

    一.安全性测试 1、安全性测试方法 测试手段可以进行安全性测试,目前主要安全测试方法有: 1)静态的代码安全测试 主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞。 2)动态的

    2024年03月24日
    浏览(56)
  • 软件测试技术之单元测试—工程师 Style 的测试方法

    什么是单元测试? Wikipedia 对单元测试的定义: 在计算机编程中,单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 在实际测试中,一个单元可以小到一个方法,也可以大到包含多个类。从定义上讲,单元测试和

    2024年02月12日
    浏览(56)
  • 软件测试技术之单元测试—工程师 Style 的测试方法(3)

    如何设计单元测试? 单元测试设计方法 单元测试用例,和普通测试用例的设计,没有太多不同,常见的就是等价类划分、边界值分析等。而测试用例的设计其实也是开发者应该掌握的基本技能。 等价类划分 把所有输入划分为若干分类,从每个分类中选取少数有代表性的数据

    2024年02月12日
    浏览(61)
  • 软件测试技术之单元测试—工程师 Style 的测试方法(2)

    怎么写单元测试? JUnit 简介 基本上每种语言和框架都有不错的单元测试框架和工具,例如 Java 的 JUnit、Scala 的 ScalaTest、Python的 unittest、JavaScript 的 Jest 等。上面的例子都是基于 JUnit 的,我们下面就简单介绍下 JUnit。 JUnit 里面每个 @Test 注解的方法,就是一个测试。@Ignore 可以

    2024年02月11日
    浏览(45)
  • 软件测试工程师postman使用基本操作方法

    本文详细介绍了如何使用Postman进行软件测试,包括管理测试用例集,发送请求,设置全局和环境变量,编写前置脚本和断言,进行数据关联,实现文件参数化,以及使用Newman命令执行Postman脚本。

    2024年02月04日
    浏览(82)
  • 【十年网络安全工程师整理】—100渗透测试工具使用方法介绍

     渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对 某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告, 并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告, 可以清晰知晓系统中存在的安

    2024年02月02日
    浏览(48)
  • 软件测试/测试开发丨Selenium的常用元素定位方法

    Selenium是一个流行的开源框架,目前在 Web 自动化方面运用最为广泛的一个开源、无浏览器要求、可支持多语言、设计测试用例非常灵活的自动化测试框架。支持多种编程语言,并且能够模拟用户操作,例如点击、输入、提交等等。 在Selenium中,元素定位是一个非常重要的步骤

    2024年01月16日
    浏览(63)
  • 工程师常用的6种最佳实践

    一、约定大于配置 泰思勒定律也被称为复杂度守恒定律。该定律指出每一个过程都有其固有的复杂性,存在一个临界点,超过了这个点过程就不能再简化了,你只能将固有的复杂性从一个地方移动到另外一个地方。 根据这个定律,在做系统设计时,默认会给用户一个“套餐

    2024年02月09日
    浏览(42)
  • 嵌入式工程师常用的软件工具推荐

    前言: 常言道:工欲善其事,必先利其器。作为一名合格的嵌入式工程师,日常可能需要接触和处理各种奇奇怪怪的问题,这时候一款高适配性的工具将会令工作效率大大提升。作者根据个人的实际使用情况与粉丝的客观感受,为大家推荐几款嵌入式开发常用的软件。希望本

    2024年02月16日
    浏览(60)
  • 开发工程师常用的ChatGPT通用提示词模板

    编程语言掌握:如何熟练掌握至少一门编程语言,如Java、Python、C++等? 开发工具使用:如何熟练使用常用的开发工具,如IDE、版本控制工具、调试工具等? 数据库操作:如何进行数据库设计和操作,包括数据模型设计、SQL语句编写等? 系统架构理解:如何理解系统架构,包

    2024年02月01日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包