用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

相关推荐
暮春二十四4 小时前
关于用postman调用接口成功但是使用Java代码调用却失败的问题
java·测试工具·postman
清尘沐歌8 小时前
推荐一款好用的postman替代工具2024
测试工具·postman
清尘沐歌8 小时前
有什么好用的 WebSocket 测试工具吗?
websocket·网络协议·测试工具
清尘沐歌10 小时前
2024 年 Postman 进行 Websocket 接口测试的图文教程
测试工具·postman
清尘沐歌10 小时前
除了 Postman,还有什么好用的 API 管理工具吗?
测试工具·postman
惜.己13 小时前
Jmeter中的监听器(一)
测试工具·jmeter·1024程序员节
qq_49244844614 小时前
selenium 控制内嵌table滚动条的方法
selenium·测试工具
苹果电脑的鑫鑫17 小时前
Postman上传图片如何处理
测试工具·postman
清尘沐歌18 小时前
2024 年Postman 导入和导出 cURL 命令图文教程
测试工具·postman
测试小小怪下士20 小时前
怎么用Python+selenium自动化生成测试报告
selenium·测试工具·自动化