第一个问题: 我已经通过xpath教程并检查了许多其他帖子和论坛。我不确定我错过了什么。我只是试图通过xpath找到以下元素:
<button ng-show="vm.enableSkip(row)" ng-click="vm.skipTask(row.workItemId)" title="Skip" class="btn btn-xs"><span class="fa fa-angle-double-right text-success"></span></button>
我尝试过如下:
Element_on_site = findElement(By.xpath("//*[@title='Skip']"));
但这不起作用。
我之前应该只添加元素名称吗?像这样? :
Element_on_site = findElement(By.xpath("//button[@title='Skip']"));
我现在无法对其进行测试,因为我无法访问此网站 工作。 有人可以帮助我点击没有错误吗?
第二个问题: 像这样的HTML代码页: 如果这是问题,我可以在代码中重写它。告诉我,我删除图片并制作此代码。 问题是:如何点击跳过元素其中:
class = "ng-scope"
和子类(ng-scope)是class = "ng-binding"
,ng-binding = "outgoingEventExecutor"
内的元素
<a href="" ng-click="vm.showProcessDiagram(row.executor)" class="ng-binding">outgoingEventExecutor</a>
如果我哪里可用,我该怎么办呢?只需点击 第一个问题?
关于评论的编辑1 我只想要这样的事情:
//tr[@class='ng-scope']/td[@class='ng-binding']/ == **outgoingEventExecutor**
但不知道怎么写来检查这条路径&gt;然后如果有这个执行者那么只需/按钮[@title =&#39; Skip&#39;]
编辑2 好吧,我会直截了当地解释我想要做的事情,并且我想要做到。 在网站上,我有几个html文本块,看起来相同(看起来是屏幕),只有一个区别。不同的是这段HTML代码:
<a href="" ng-click="vm.showProcessDiagram(row.executor)" class="ng-binding">outgoingEventExecutor</a>
只是名字&#34; outgoingEventExecutor&#34;每个代码块都不同。 我想要做的就是点击类中的Skip按钮(tr class =&#34; ng-scope&#34;)并包含链接的文本 - 如你所说:exacly:&#34; outgoingEventExecutor& #34 ;.我想现在你了解我在做什么。谢谢!
答案 0 :(得分:1)
我想知道你dom中的某个地方是否有另一个带有@ title ='Skip'的按钮。尝试使用XPath更明确一些。给这个家伙一个机会:
//tr[@class='ng-scope']/td[@class='text-center']/button[@title='Skip']
如果恰好在页面上有多个元素,这将为特定按钮提供更多方向,通常在表格中