当我们使用 Selenium 的定位方法定位到元素之后,会返回一个 WebElement 对象(<class 'selenium.webdriver.remote.webelement.WebElement'>),该对象用来描述 Web 页面上的一个元素,那么,关于元素的常用属性,主要有:

序号 方法/属性 描述
1 WebElement.id 获取元素的标示
2 WebElement.size 获取元素的宽与高,返回一个字典
3 WebElement.rect 除了获取元素的宽与高,还获取元素的坐标
4 WebElement.tag_name 获取元素的标签名称
5 WebElement.text 获取元素的文本内容

WebElement.id

获取元素的标示:

from selenium import webdriver
from time import sleepdriver = webdriver.Chrome()  # 打开浏览器
driver.maximize_window()  # 浏览器最大化
driver.get("https://www.baidu.com/")  # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw")  # 定位搜索输入框
print(element.id)  # 25c961a3-4d39-4e67-b1f6-b72c89058a29driver.quit()  # 关闭浏览器

WebElement.size

获取元素的宽与高,返回一个字典类型数据:

from selenium import webdriver
from time import sleepdriver = webdriver.Chrome()  # 打开浏览器
driver.maximize_window()  # 浏览器最大化
driver.get("https://www.baidu.com/")  # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw")  # 定位搜索输入框
print(element.size)  # {'height': 44, 'width': 548}driver.quit()  # 关闭浏览器

WebElement.rect

获取元素宽与高的同时,还获取元素的坐标,同样返回的是一个字典类型数据:

from selenium import webdriver
from time import sleepdriver = webdriver.Chrome()  # 打开浏览器
driver.maximize_window()  # 浏览器最大化
driver.get("https://www.baidu.com/")  # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw")  # 定位搜索输入框
print(element.rect)  # {'height': 44, 'width': 548, 'x': 633, 'y': 222.234375}driver.quit()  # 关闭浏览器

WebElement.tag_name

获取元素的标签名称:

from selenium import webdriver
from time import sleepdriver = webdriver.Chrome()  # 打开浏览器
driver.maximize_window()  # 浏览器最大化
driver.get("https://www.baidu.com/")  # 跳转至百度首页
sleep(1)
element = driver.find_element_by_id("kw")  # 定位搜索输入框
print(element.tag_name)  # inputdriver.quit()  # 关闭浏览器

WebElement.text

获取元素的文本值,无文本内容则返回空字符串:

from selenium import webdriver
from time import sleepdriver = webdriver.Chrome()  # 打开浏览器
driver.maximize_window()  # 浏览器最大化
driver.get("https://www.baidu.com/")  # 跳转至百度首页
sleep(1)
elements = driver.find_elements_by_xpath("//div[@id='s-top-left']/a")  # 定位搜索输入框
for element in elements:print(element.text)  # 新闻 hao123 地图 视频 贴吧 学术driver.quit()  # 关闭浏览器

总结

Selenium API-WebElement 属性相关推荐

  1. Selenium学习 - WebElement接口

    Selenium学习 - WebElement接口 WebElement对象代表了一个DOM元素. 一.WebElement的属性 tag_name --- 元素的tagName属性     text ...

  2. python selenium api_Selenium2+python自动化-查看selenium API

    前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. pydo ...

  3. java selenium常用API(WebElement、iFrame、select、alert、浏览器窗口、事件、js) 一

     WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.clic ...

  4. python常用api_python selenium API 常用方法

    下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下 ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver 文档参考 一 ...

  5. 测试开发面试准备之python selenium API

    一.浏览器操作 1.浏览器最大化 driver.maximize_window() #将浏览器最大化显示 2.设置浏览器宽.高 driver.set_window_size(480, 800)#设置浏 ...

  6. selenium API

    WebDriver class WebDriver(object): 方法属性 参数 描述 init self, command_executor='http://127.0.0.1:4444/wd/ ...

  7. firefox应用自动全屏显示_【b】—自动化测试:基础selenium—API

    一.浏览器对象 # 导入webdriverfrom selenium import webdriver# 创建一个浏览器对象driver = webdriver.Firefox()# 设置全屏# dr ...

  8. selenium:class属性内带有空格的定位坑

    前言 由于web页面元素class属性值带有空格,导致直接使用class属性值元素定位失败 如: class="inputstyle password" ,直接使用定位:drive ...

  9. 【论文泛读95】一石二鸟:窃取模型并从基于BERT的API推断属性

    贴一下汇总贴:论文阅读记录 论文链接:<Killing Two Birds with One Stone: Stealing Model and Inferring Attribute from ...

  10. 分类数据cotegory介绍以及常用API的属性和方法

    pandas中有一种分类数据类型category,分类数据类型具有以下优点: (1)采用这种方式存储数据更加节约内存,提高速度,尤其是数据集中包含很多重复的字符串得时候 (2)当一劣质存在一定的顺序( ...

最新文章

  1. 15:解决IntelliJ IDEA的乱码问题
  2. 【Prometheus】Exporter详解
  3. Nature癌症“牵线木偶”理论:科学家找到了不易误伤健康细胞的“剪刀”
  4. mysql 改表面_MySQL_解析MySQL数据库性能优化的六大技巧,数据库表表面上存在索引和防 - phpStudy...
  5. 分辨率快速切换工具,以及源码.
  6. 将excel的数据导入到mysql数据表
  7. WIN7重装IE的步骤
  8. 7-7 六度空间 (30分)_现役球员中,谁最可能成下一位30000分先生?3大前十巨星没戏...
  9. LSA类型讲解——LSA-5(第5类LSA——Autonomous System External LSA)、LSA-4(第四类LSA——ASBR Summary LSA)讲解
  10. CentOS 7 配置DHCP服务器
  11. android 自定义listview 多列,android listview的多列模版实例代码
  12. 回首2017,展望2018
  13. Kotlin学习(1)初识及环境搭建,大厂面试必备技能
  14. zend_Zend认证工程师
  15. Android 系统截屏实现
  16. 购物车案例模块(全选,增减商品数量,修改商品小计,计算总计和面额,删除商品,选中商品添加背景)
  17. Toast的使用详解
  18. Redis安装(完整版)
  19. 新站推广必备,值得学习的100个网站推广方法
  20. 使用avilib库进行avi文件的读写

热门文章

  1. Server 2016DC查看五种AD角色的方法
  2. 消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!
  3. Linux学习总结(55)——Linux 运维常用脚本
  4. Java基础学习总结(95)——Java反射主要用来干什么?
  5. mysql ha_err_key_not_found_mysql主从同步报错:Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND...
  6. 为什么defineProperty不能检测到数组长度的“变化”
  7. Web安全相关(二):跨站请求伪造(CSRF/XSRF)
  8. ONE-ReactNative
  9. 第二个冲刺期的第四天
  10. Redis 的持久化