用selenium和xpath定位元素并获取属性值以及str字符型转json型

页面html如图所示:

要使用xpath定位这个div元素,并且获取其属性data-config的内容值。

复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

host='127.0.0.1'
port='10808'
chrome_options = Options()#如果是from selenium.webdriver.edge.options import Options,打开edge;如果是from selenium.webdriver.chrome.options import Options,打开chrome
chrome_options.add_argument("--proxy-server=socks5://" + host + ":" + port)

driver = webdriver.Chrome(options=chrome_options)
url = "https://xxxx.xxx/archives/1234/"
driver.get(url)
div =driver.find_element(By.XPATH,"//div[@class='dplayer dplayer-no-danmaku']")
str_attr=div.get_attribute('data-config')
print(str_attr)

import json
json_attr=json.loads(str_attr)
print(json_attr)
print(json_attr['video']['url'])

结果如图:

蓝色的为str类型,红色的为json类型。

那么先得到的是str类型,如何转换为json类型呢?使用如下代码即可。

import json

json_attr=json.loads(str_attr)

读取json数据用json_attr['video']['url']即可。具体可参阅这篇好文:

如何将 Python 字符串转换为 JSON

相关推荐
Cd ...2 小时前
RobotFramework Selenium与Browser常用关键字对比
自动化测试·selenium·robotframework·playwright·browser
LT10157974442 小时前
2026年性能测试平台信创适配评测:国产化场景落地能力解析
测试工具·性能优化
爆更小哇3 小时前
pytest集成Allure报告教程
python·测试工具·pytest·接口测试·allure
12亡灵归来3421 小时前
Postman高级用法:自动化测试与Mock
测试工具·lua·postman
MESMarketing1 天前
互动分享 | 软件工具的安全合规实践
功能测试·测试工具·matlab·ci/cd·autosar
介一安全1 天前
Web缓存漏洞扫描器WCVS:原理、实战与操作指南
测试工具·web安全·安全性测试
测试19981 天前
软件测试之持续集成
自动化测试·软件测试·python·功能测试·测试工具·测试用例·持续集成
qq_452396231 天前
第二篇:《主流UI自动化工具横向对比:Selenium、Cypress、Playwright、Puppeteer》
selenium·ui·自动化
_周游1 天前
【软件测试】使用JMeter进行压力测试_1
测试工具·jmeter·压力测试