前面我是用过python写过验证形式的,这次利用Selenium如何通过location和size定位元素

识别极验验证码的时候遇到了关于location和size两个属性,由于之前学习python的时候没有接触过,一时没能理解其中的意思。后来回想起之前的QT学习,有了一定的感悟,也推到出了这两个属性的返回值。

  先看一下代码:

  1 img = self.wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'geetest_canvas_img')))

  2 time.sleep(2)

  3 location = img.location

  4 size = img.size

  这里用了显示等待获取到了我要识别的滑动验证码图片对象,接下来调用该对象的location属性和size属性。

  location属性可以返回该图片对象(既这张图片)在浏览器中的位置,以字典的形式返回。

  {‘x’:30,

  ‘y’:30

  }

  这里我们假设图片的位置是(30,30)

  坐标轴是以屏幕左上角为原点,x轴向右递增,y轴像下递增:

  size属性同样返回一个字典:

  {

  ‘height’:30,

  ‘width’:30

  }

  size属性是图片对象的高度,宽度。

Selenium如何通过location和size定位元素坐标?相关推荐

  1. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)

    selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素) 参考文章: (1)selenium+python,解 ...

  2. selenium+unittest自动化测试(二)---浏览器控制及元素定位的方法

    目录 一.浏览器控制方法 二.元素定位的方法 1.id定位 2.name定位 3.class定位 4.tag定位 5.link_text定位 6.partial_link_text定位 7.XPath ...

  3. Selenium之定位元素常用的8种方法整理(第一篇)

    在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...

  4. [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  5. 在Selenium中按TagName定位元素

    Selenium定位器是处理网页上的元素时的关键. 从ID,名称,类,标记名,XPath,CSS选择器等定位器列表中,可以根据需要选择其中任何一种,然后在网页上找到Web元素. 由于与tagName或 ...

  6. Selenium的定位元素

    1.浏览器操作 # 刷新 driver.refresh() # 前进 driver.forward() # 后退 driver.back() 2.获取标签元素 # 通过ID定位目标元素 driver. ...

  7. selenium提取数据之driver对象定位标签元素获取标签对象的方法

    selenium提取数据之driver对象定位标签元素获取标签对象的方法 在selenium中可以通过多种方式来定位标签,返回标签元素对象 find_element_by_id (返回一个元素) fi ...

  8. python selenium定位元素方法,python + selenium 练习篇 - 定位元素的方法

    1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8 from selenium import webdriver driver = webdriver.Chrome ...

  9. selenium定位元素的方法_selenium定位元素之冻结窗口

    我们在使用selenium进行元素定位的时候,会发现有很多需要操作的元素是随着鼠标移动与移出才会显示与隐藏,不能通过页面窗口实时看到自己的定位是否准确.这就给我们定位工作带来了一些困扰. 这种情况下我 ...

最新文章

  1. QIIME 2教程. 23图形界面q2studio(2020.11)
  2. hdu 5504(枚举+找规律)
  3. linux系统判断是否重启、关机、查询登录诊断分析简介
  4. 查询两个日期间隔天数怎么算_大厂都是怎么用Java8代替SimpleDateFormat?
  5. TCPDUMP/LIBPCAP 3-PCAP's MAN手册(1)
  6. 6大设计原则之单一职责原则
  7. java jdbc 连接mysql数据库 实现增删改查
  8. AD教程系列 | 1-认识基本电子元器件、封装和读数
  9. java压缩文件太慢_java 解压6万个ZIP文件,如何提升速度?
  10. MySQL 服务无法启动。服务没有报告任何错误。
  11. [编程与人生的韵味]注重实效的哲学
  12. LeetCode26.删除排序数组中的重复项
  13. seata xid是什么_Spring Cloud Alibaba分布式事务解决框架Seata概念入门篇
  14. x86 vt-d在linux中的应用
  15. 数据结构视频教程 -《[北大张铭 精品课程版]数据结构与算法(C++)》
  16. 市场战略再升级 解析融云的生态平台+纵深发展
  17. 机器人改变生活利弊英语作文_机器人的利弊作文
  18. Tegra3--NVIDIA--黄仁勋
  19. vue:不同环境配置不同打包命令
  20. python 爬虫 403 Forbidden

热门文章

  1. 宏基因组扩增子最新分析流程QIIME2:官方中文帮助文档
  2. 走进科学-盐碱地种出甜高粱
  3. 查找字符串末尾含关键字_Excel教程:用find函数带关键字提取杂乱文本
  4. R语言PCA主成分分析(Principle Component Analysis)实战1
  5. python使用fpdf生成数据报告pdf文件
  6. OCR引擎Tesseract以及pytesseract详解及实例
  7. 为什么你用matplotlib savefig保存下来的图像是一个空白图片?
  8. linux 软件安装
  9. 数据结构与算法:选择排序
  10. postgresql