问答媒体

 找回密码
 立即注册
快捷导航
搜索
热搜: 活动 交友 discuz
查看: 73|回复: 1

【Selenium】API-WebElement 属性

[复制链接]

1

主题

4

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-11-26 13:19:25 | 显示全部楼层 |阅读模式
本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~

当我们使用 Selenium 的定位方法定位到元素之后,会返回一个 WebElement 对象:
<class 'selenium.webdriver.remote.webelement.WebElement'>
该对象用来描述 Web 页面上的一个元素,那么,关于元素的常用属性,主要有:
序号方法/属性描述
1WebElement.id获取元素的标示
2WebElement.size获取元素的宽与高,返回一个字典
3WebElement.rect除了获取元素的宽与高,还获取元素的坐标
4WebElement.tag_name获取元素的标签名称
5WebElement.text获取元素的文本内容

WebElement.id

获取元素的标示:
from selenium import webdriver
from time import sleep

driver = 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-b72c89058a29

driver.quit()  # 关闭浏览器
WebElement.size

获取元素的宽与高,返回一个字典类型数据:
from selenium import webdriver
from time import sleep

driver = 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 sleep

driver = 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 sleep

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

driver.quit()  # 关闭浏览器
WebElement.text

获取元素的文本值,无文本内容则返回空字符串:
from selenium import webdriver
from time import sleep

driver = 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()  # 关闭浏览器
总结




推荐阅读:
只需Docker,环境问题再也不是测开路上的『坑』_霍格沃兹测试开发学社的博客-CSDN博客
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 前天 04:06 | 显示全部楼层
元芳你怎么看?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| 问答媒体

GMT+8, 2025-3-16 03:44 , Processed in 0.141111 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表