selenium--页面元素相关的操作
获取元素的标签和元素大小
from selenium import webdriver import unittest class Test_BasicInfo(unittest.TestCase): def test_getBasicInfo(self): url = 'http://www.baidu.com' self.driver = webdriver.Chrome() self.driver.get(url) newElement = self.driver.find_element_by_link_text('新闻') # 打印查找到元素的基本信息 print('元素的标签名:', newElement.tag_name) print('元素的size:', newElement.size) test1 = Test_BasicInfo() test1.test_getBasicInfo()
结果:
元素的标签名: a 元素的size: {'height': 24, 'width': 26}
获取元素的文本内容
from selenium import webdriver import unittest import time class Test_ElementText(unittest.TestCase): def test_getWebElementText(self): url = 'http://www.baidu.com' self.driver = webdriver.Chrome() self.driver.get(url) time.sleep(3) # 获取元素的文本内容 a_text = self.driver.find_element_by_xpath('//*[@class="mnav"][1]').text print(a_text) test1 = Test_ElementText() test1.test_getWebElementText()
结果
新闻
获取页面元素的属性
from selenium import webdriver import unittest class Test_ElementAttribute(unittest.TestCase): def test_getWebElementAttribute(self): url = 'http://www.sogou.com' self.driver = webdriver.Chrome() self.driver.get(url) query1 = self.driver.find_element_by_id('query') # 获取搜索输入框的name属性 print(query1.get_attribute('name')) query1.send_keys('测试开发') # 获取搜索框的value值,既输入框里的文本内容 print(query1.get_attribute('value')) test1 = Test_ElementAttribute() test1.test_getWebElementAttribute()
结果:
query
测试开发
获取页面的css属性值
from selenium import webdriver import unittest class Test_ElementCssValue(unittest.TestCase): def test_getElementCssValue(self): url = 'http://www.baidu.com' self.driver = webdriver.Chrome() self.driver.get(url) case = self.driver.find_element_by_id('kw') # 使用value_of_css_property()方法获取元素的css属性值 print('高度:', case.value_of_css_property('height')) print('宽度:', case.value_of_css_property('width')) test1 = Test_ElementCssValue() test1.test_getElementCssValue()
结果:
高度: 22px
宽度: 500px
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)