首页 > 解决方案 > 使用 RobotFramework 从内联 JS 脚本标签中提取值

问题描述

有一些内联 JS 在我们网站的顶部运行。它包含一些从网页中提取的名称值对。我正在使用机器人框架编写测试来断言这些存在并具有价值。JS 的一小段摘录如下所示:

siteId':'1133','offerId':'1228','productId':'549','

我可以使用 xpath 定位器断言名称的存在,如下所示

page should contain 
element  xpath=/html/head/script[contains(text(),"siteId")] 

使用机器人框架和 Selenium 库,我使用page should contain element关键字断言名称存在,并且效果很好。

现在我需要提取值,所以在上面的例子中是 '1133'。

我一直在使用get element attribute在 DOM 中其他位置获取值时效果很好的关键字。但似乎不适用于这种情况。我不断获得none价值。

我的 xpath 可能需要以不同的方式编写才能从中提取值,但我不确定。

非常感谢所有帮助或想法。

标签: seleniumxpathrobotframework

解决方案


您应该能够通过获取innerHTML属性的值来获取脚本标签的内容。参考

我不熟悉机器人框架,但根据您提供的信息,我怀疑使用get element attributewithinnerHTML会将脚本标签的内容作为字符串返回,然后您可以使用正则表达式进行匹配。


推荐阅读