如何解决如何使用Shell脚本获取html文件中的特定值
我有一个基于测试套件执行情况生成的html文件。它包含测试运行详细信息,例如在特定运行中通过和失败了多少个测试用例。我对Shell脚本非常陌生,不确定如何从詹金斯$ Workspace中生成的.html中提取值。
HTML片段:(仅复制特定标签,而不是复制整个.html文件):
<ul class="quick-summary--list---2_80W">
<li class="quick-summary--item---bfSQ0 quick-summary--passes---3IjYH" title="Passed">
<button type="button">
<i class="material-icons quick-summary--icon---TW1oG quick-summary--circle-icon---1HDS7"></i>
9
</button>
</li>
<li class="quick-summary--item---bfSQ0 quick-summary--failures---14s29" title="Failed">
<button type="button">
<i class="material-icons quick-summary--icon---TW1oG quick-summary--circle-icon---1HDS7"></i>
0
</button>
</li>
</ul>
在上面的示例.html文件中,我正在下面的xpath中查找数字:
.//*[@title='Passed']/button // It should return 9
.//*[@title='Failed']/button // It should return 0
如何从在上述特定XPATH中生成值的html文件中获取这些数字。
请帮助我实现这一目标。
已更新:
在1以下尝试,但返回空:
$ xmllint --html --xpath "//*[@title='Passed']/button" result.html
XPath set is empty
解决方法
该问题似乎是由于html代码段的<i>
节点中的字符异常(不确定该是什么)引起的。
绕开角色的一种令人费解的方法是:
xmllint --html --xpath "substring-after(normalize-space(//li[@title='Passed']/button),' ')" result.html
和
xmllint --html --xpath "substring-after(normalize-space(//li[@title='Failed']/button),' ')" result.html
输出确实是9
和0
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。