我正在用Java编写脚本来自动执行Selenium中的测试用例。
不幸的是,我一步一步被完全封锁了。

我无法使用定位器单击元素。

这就是我在浏览器的开发工具中看到的元素(我想上传照片,但是我需要更高的声誉:()

<li class="x-tree-node"><div ext:tree-node-id="site_~_listUtilities|site" class="x-tree-node-el x-tree-node-leaf x-unselectable file" unselectable="on"><span class="x-tree-node-indent"></span><img src="http://mucs70064.corp.knorr-bremse.com:1080/Windchill/netmarkets/images/sp.gif" class="x-tree-ec-icon x-tree-elbow-end"><img src="http://mucs70064.corp.knorr-bremse.com:1080/Windchill/netmarkets/images/default_leaf.png" class="x-tree-node-icon x-tree-node-inline-icon" unselectable="on"><a hidefocus="on" class="x-tree-node-anchor" href="http://mucs70064.corp.knorr-bremse.com:1080/Windchill/app/#ptc1/site/listUtilities?oid=OR%3Awt.inf.container.ExchangeContainer%3A5&amp;u8=1" tabindex="1"><span unselectable="on">Dienstprogramme</span></a></div><ul class="x-tree-node-ct" style="display:none;"></ul></li>


可以请我继续吗?

提前致谢
巴勃罗

最佳答案

假设您要单击锚元素:

WebElement myAnchor = yourDriver.findElement(By.cssSelector("a.x-tree-node-anchor"));
myAnchor.click();


其中yourDriver是您的WebDriver实例

注意:如果您直接从yourDriver执行此操作,则可能会找到多个链接,因为这会检查整个页面,因此,除非页面上只有一个带有该类名称的锚定标记,否则我建议缩小通过预先执行另一个findElement进行搜索,以便找到要单击的确切li节点(您的帖子中有详细说明)。

然后,例如,如果您将li节点WebElement保存为名称myClickableListItem,则可以通过将yourDriver替换为myClickableListItem来调用本文开头提到的代码。

09-11 10:47