Robotframework Selenium Library如何提取元素data-store属性中的videoURL字段?
解决方法:解析HTML属性中的JSON字符串来提取嵌套字段
你的问题出在错误使用了获取CSS样式的方法来处理HTML自定义属性,而且data-store里的内容是一个JSON字符串,不能直接通过.语法访问嵌套字段。下面是正确的操作步骤:
步骤1:获取data-store属性的完整值
首先,你需要用Get Element Attribute关键字来获取这个HTML属性的全部内容——value_of_css_property是用来获取元素的CSS样式(比如color、margin这类),和HTML自定义属性完全是两个概念,用它自然拿不到正确结果:
${data_store_raw}= Get Element Attribute ${first_video} data-store
步骤2:将JSON字符串解析为字典
data-store的值是标准的JSON格式字符串,Robot Framework提供了Convert From JSON关键字,可以把它转换成可直接操作的字典对象:
${data_store_dict}= Convert From JSON ${data_store_raw}
步骤3:提取videoURL字段
现在你可以直接从字典中取出目标字段了:
${first_video_link}= Get From Dictionary ${data_store_dict} videoURL
补充说明
你之前的写法失效有两个核心原因:
- 混淆了HTML自定义属性和CSS样式属性的获取方式,
value_of_css_property根本不负责读取data-*这类HTML属性; data-store的内容是序列化后的JSON字符串,不是原生的可访问对象,必须先解析成字典才能读取嵌套字段。
内容的提问来源于stack exchange,提问作者user3925023
相关产品推荐
相关产品推荐

