本篇不是介绍通过各种方法(id, name, tag_name, css, xpath等)定位HTML各元素的普及性文章,网络上各种文档和博客介绍得均比较全面。这里只是将自己实践中,遇到的个别问题及解决方案进行记录。

在此推荐Selenium官方文档(Python版):http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html

可以搜索关键字,得到函数用法和源码。

下面记录定位HTML元素方面遇到的问题和解决方法(持续更新)。

1、无id的frame定位

问题描述:需要定位frame内的元素,但此frame无id。

解决方法:swich_to_frame( )函数定义如下:

1 defswitch_to_frame(self, frame_reference):2         """
3 Switches focus to the specified frame, by index, name, or webelement.4
5 :Args:6 - frame_reference: The name of the window to switch to, an integer representing the index,7 or a webelement that is an (i)frame to switch to.8
9 :Usage:10 driver.switch_to_frame('frame_name')11 driver.switch_to_frame(1)12 driver.switch_to_frame(driver.find_elements_by_tag_name("iframe")[0])13         """
14         self.execute(Command.SWITCH_TO_FRAME, {'id': frame_reference})

可知,参数frame_reference有3种形式。对于无id的frame,即可通过后2种参数,定位到此frame。相对来说,后2种参数更像是通过一个页面中所有frame的“相对位置”,来定位具体某一个frame;而第1种参数则是通过绝对的”名“来定位。

转载于:https://www.cnblogs.com/kevin1201/p/4314057.html

Selenium定位HTML元素(Python)相关推荐

  1. python元素定位input button_python+selenium 定位到元素,无法点击的解决方法

    报错 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75 ...

  2. selenium定位隐藏元素

    面试官:"你是怎么使用selenium定位隐藏元素?". 我相信这是很多小伙伴在面试web自动化的时候经常遇到的问题.但是我想说,这个问题着实很无聊.为什么我会这么说呢 ? 做we ...

  3. python元素定位id和name_Python Selenium定位html元素|find_element_by_class-name-id-tag-css-xpath-text...

    Selenium官方给了八种定位方法 1.find_element_by_class_name通过class name定位元素 我们拿Pythonfree网站来举例,点击右上角的搜索框. 鼠标右击搜索 ...

  4. 【selenium学习笔记一】python + selenium定位页面元素的办法。

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  5. selenium定位到元素后获取其属性_selenium 元素查找与属性

    pip install selenium 2.selenium查找元素就八种方法 from selenium import webdriver driver=webdriver.Chrome() #说 ...

  6. selenium定位弹框元素

    selenium定位弹窗元素 一. 弹出框是alert类型: selenium提供switch_to_alert方法:捕获弹出对话框(可以定位alert.confirm.prompt对话框) aler ...

  7. UI自动化之Selenium介绍、Selenium定位方法

    Selenium库 用于web应用程序的测试工具 模拟手工操作浏览器,进行自动化测试 特点 开源免费 多浏览器支持 -Chrome.IE.FireFox等 多平台支持 - Windows.Linux都 ...

  8. Selenium查询10010账户余额——python篇

    [本文出自天外归云的博客园] 问题 最近在网上搜到了一些练习题,改编了一下这里的20题如下:登陆中国联通网上营业厅 后选择「自助服务」-->「查询」-->「账户余额」,然后输出手机号码和可 ...

  9. Python selenium根据class定位页面元素,xpath定位

    Python selenium根据class定位页面元素 在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写 ...

最新文章

  1. linux c 运行命令 popen 简介
  2. 学习Git_12.10
  3. 【NOI2013】向量内积
  4. flutter 自定义 AppBar
  5. dotnetClub 的前世今生
  6. java之struts2的action的创建方式
  7. hdu 1176:免费馅饼
  8. nginx ---- 配置成系统服务
  9. OpenCV blur和boxFilter (方框型滤波器)
  10. 拓端tecdat|R语言markov switching model马尔可夫转换分析研究水资源
  11. mysql分割字符串_mysql分割字符串
  12. linux 显卡驱动错误,ubuntu下 Nvidia显卡驱动错误的解决
  13. SSL / TLS协议解析!SNI 识别
  14. 【最新Unity3D—Particle System粒子系统】最新Unity2017.2018.2019.2020均适用且超详细
  15. SharePoint Project导入(mpp文件导入)
  16. 人工智能发展到GPT4经历了什么,从专家系统到机器学习再到深度学习,从大模型到现在的GPT4
  17. 【开源项目】之健康助手
  18. 「跳一跳」两年后,广告“杀死”游戏小程序?
  19. 【CNN】理解卷积神经网络中的通道 channel
  20. RecyclerView的万能分割线

热门文章

  1. msyql开启慢查询以及分析慢查询
  2. Sql server安装时出现找不到vc_red.msi错误
  3. CentOS6.6上编译安装httpd2.4
  4. ubuntu设置PATH
  5. 顺序程序设计02 - 零基础入门学习C语言08
  6. Gdevops广州站:大咖齐聚,从事运维和数据库的你不能错过!
  7. 算法题存档20190204
  8. erlang的gb_trees源码解析
  9. Redis再入门 codis 对比 Memcached
  10. 第三章-电商项目-优化评论分页查询