我经常遇到空手道看不到的奇怪的可见页面文本,可能是由于一些我不完全理解的时髦 JS 魔法。
Example image shows text on the page generated after clicking on a translate button:
I'm trying to assert that the translated text is present and correct on the page.
这是选择器:
#results-panel > div > div > div.thread > div > div.activity.panel.panel-default > div.panel-content > div > div:nth-child(2) > div:nth-child(1) > div > div.analysisdText-翻译 > div > span:nth-child(3)
Example snippet of the element:
使用通配符 {} 或 {^} 不起作用。例如 waitFor('{^}关于猫的一些随机事情') 返回 null
我使用了 CSS 选择器,并且能够使用以下方法突出显示文本:
- 高亮('.analysisText-translation > div > span:nth-child(3)')[0]
我想也许使用 waitForText 但不知道如何应用它。有什么建议么?
文档没有过多讨论 CSS 选择器的原因是它是一个标准。顺便说一句,这是开源的,欢迎您贡献拉取请求以改进文档。
UI 自动化很难,我不会声称任何框架都能让它变得神奇地变得更容易。
建议:
- 如果还没有,请开始使用 VS Code 调试器,您可以键入以下内容
highlight('div.panel-content')
进入交互式控制台并使用该页面。请在此处观看视频演示 (55:40)https://youtu.be/yu3uupBZyxc?t=3340 https://youtu.be/yu3uupBZyxc?t=3340
- 打开 Chrome 开发者工具控制台并输入以下内容
document.querySelector('div.panel-content')
查看匹配的内容
- 获取对任何父元素的引用,然后您可以“遍历树”:https://github.com/intuit/karate/tree/master/karate-core#tree-walking https://github.com/intuit/karate/tree/master/karate-core#tree-walking
如果仍然卡住,请按照此过程进行操作,以便我们可以根据需要修复框架中的任何内容:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)