我的主管最近将我们从HP-UFT转变为机器人,使用Selenium Webdriver,我发现很难找到如何使用驱动程序和/或关键字框架来扩展折叠树ul/li webelement。
下面是页面上代码的一个去掉的示例:
<ul>
<li class="node-class open" id="i1454430045821320">
<a class="" style="" href="">
<ins> </ins>Location Header 1</a>
<ul>
<li class="node-instance leaf" id="i1454430058247421">
<a class="" style="" href="">
<ins> </ins>Location 1</a>
</li>
<li class="node-instance last leaf" id="i14545337159411690">
<a class="" style="" href="">
<ins> </ins>Location 2</a>
</li>
</ul>
</li>
<li class="node-class closed " id="i14544407827351156">
<a class="" style="" href="">
<ins> </ins>Location Header 2</a>
</li>
我所要做的应该是非常简单的:如果它被归类为封闭的,我想扩展一个指定的封闭树结构。每个分支下面都有一个可选的嵌套分支,或一个选择复选框。我的最终目标是能够深入到测试人员指定的树中的某个位置,然后单击最后的叶子。
使用“=/ul/li[acontains(text(),'Location 2')”可以展开分支,但它也会选择所有子节点复选框。
在UFT中,如果遇到这样的问题,我只需更改父<li>类以强制打开它(如果我不能单击或使用其他任何方法向下钻取和选择)。
在机器人中,我可以使用关键字"Get属性“来读取类,但是我没有看到一个关键字来改变它,所以这个想法就不存在了。我要寻找的是一种扩展树枝的方法,而不会不经意地选择所有的子节点。
一旦我找到了正确打开节点的方法,我就可以在树部分进行向下钻,但是在没有可能选择所有子项目的情况下打开分支,这让我把头撞到了桌子上。
我一直在想也许我错过了一些简单的东西。任何帮助,我可以尝试,将非常感谢。
发布于 2016-02-17 20:07:00
弄明白了!非常感谢大家的建议。
Click Element At Coordinates | xpath=//ul/li[a[contains(text(),'Location Header 2')] | -100 | 0幸运的是,页面上的ul元素列都具有相同的css样式,将它们设置为200 of宽度。经过反复试验,我发现"At坐标“选项是从对象的中心单击的(而不是我最初认为的左上角)。我想我应该和其他人分享这个,以防其他人有类似的问题。
https://stackoverflow.com/questions/35343710
复制相似问题