如何找到xpath动态变化的元素?

时间:2018-12-24 08:24:42

标签: xpath protractor

我们具有的元素在自动化测试中没有ID或名称。 下面是它的html代码。

<div _ngcontent-c1="" class="col-md-4">
    <div _ngcontent-c1="" class="form-group"> Account Name: </div>
</div>
<div _ngcontent-c1="" class="form-group"> 
    <span _ngcontent-c1="" class="ng-tns-c1-0">1234567890</span> 
</div>

我们通过使用xpath找到了element。我们可以在一种情况下单击该元素。这是xpath,

/html/body/app-root/app-root/div/div[4]/div[2]/form/div/div[5]/div[2]/div/span

但是在第二种情况下,我们无法找到该元素,因为新元素将出现在页面中。现在,上面的xpath将更改为,

/html/body/app-root/app-root/div/div[4]/div[2]/form/div/div[1]/div[5]/div[2]/div/span

现在的问题是如何找到上述元素?

1 个答案:

答案 0 :(得分:1)

Venkatesh来自注释部分,我了解您想从页面中找到Account Name

您可以使用可见文本编写xpath。

//*[contains(text()," Account Name: ")]/ancestor::div/following-sibling::div[contains(@class,"form-group")]/span

您可以找到带有可见文本div的前置Account Name:,然后找到下面的同级变量,其中将保留Account Name:值。

类似地,您可以通过单独更改可见文本来查找每个元素。

enter image description here