如何使用FindElementByXPath获取元素data-raw值并写入Excel
Web自动化抓取原始属性值替代展示文本的实现方案
现存问题
当前通过代码 bot.FindElementByXPath("//*[@id='data_table_40']/tbody/tr[1]/td[2]").Text 仅能获取元素渲染后展示的格式化文本 44,697,000 M,这类内容经过千分位分隔、单位缩写加工,无法满足提取未加工原始数值、写入Excel归档的业务需求。
目标元素特征
需要抓取的表格单元格<td>节点除了面向用户展示的格式化文本外,还挂载了多组自定义数据属性,直接存储未格式化的原始业务值,参考元素结构如下:
<td class="rowval val1 " data-percentage="100" data-raw="44697000000000" data-value-idr="44697000000000" data-value-usd="3852820608.132629">44,697,000 M</td>
落地实现方法
- 调整原有取值逻辑:不再通过
.Text接口读取页面展示的加工后文本,改为在定位到目标元素节点后,读取data-raw属性的存储值 - 核心取值逻辑:调用自动化框架通用的元素属性读取接口
目标元素.GetAttribute("data-raw"),即可直接拿到未经过格式化处理的原始数值44697000000000 - 将接口返回的原始值直接写入对应Excel单元格,完全替代原有抓取到的格式化文本,即可匹配业务需求
内容的提问来源于stack exchange,提问作者Irzan Gustanto
相关产品推荐
相关产品推荐

