Selenium 4.0有新技能啦,你GET了吗?

发表于:2021-4-28 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:罗狮小钉    来源:51Testing软件测试网原创

  题记
  身处IT饭圈文化的你,对于Selenium这位老朋友自然非常熟悉,如今Selenium 4.0带着它的新技能再一次叩响了web自动化的大门。
  自2019年4月Selenium 4发布第一个Alpha版本以来,一直收到业内广泛关注。虽说官方对于Selenium 4.0的最终发布版本迟迟悬而未决,但这并不妨碍开发人员和自动化框架爱好者们对其新增特性进行探究,大家仍可以通过下载最新的Alpha Selenium 4版本(Selenium-4.0.0a7)来体验一番。
  Python Selenium 4涉及以下新增功能:

  (1)Web元素相对定位器
  ‘Relative Locators’ for locating web elements.

  (2)支持Chrome Loadstools协议(模拟地理位置,模拟网络环境)
  Support for Chrome Loadstools Protocol.

  (3)支持浏览器操作–在Windows及选项卡之间切换
  Browser Manipulation – Switching between Windows or Tabs.

  下面我们以Selenium for Python的Alpha Release-7(被吹捧为最新的Alpha版本)为例,逐一了解Python Selenium 4的新功能以及其在测试中的使用场景。

  Web元素相对定位器
  Python Selenium 4中新增了元素相对定位功能,该功能与“with_tag_name”元素属性相绑定,实现了相对定位方法(relative locators),该方法也被称为“友好定位符”。
  Python中的相对定位指的是定位那些位于指定web元素附近的元素或元素集。“附近”所指参见如下描述:

  应用场景DEMO_1,上下相对
  (1)打开百度产品大全链接
  http://www.baidu.com/more/

  (2)分别定位第一个板块标签元素“新上线新!”

  以及最后一个板块标签元素“软件工具”。

  (3)通过above,below进行中间元素的相对定位
  如图所示,通过相对定位方法,我们希望能够成功定位到以下6个元素。

  (4)打印输出所有符合条件的相对元素
  完整代码实现如下:

  核心代码为:
web_driver.find_elements(with_tag_name("h3").above(elem_2).below(elem_1))

  运行结果:

  可以看到通过find_elements(with_tag_name("XXX").above(元素A).below(元素B)) 成功定位到了相对元素A和元素B间的一系列tag_name匹配上的所有元素。



版权声明:本文出自《51测试天地》第六十一期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号