2016-05-23 37 views
0

考虑我在不同的区域div内有相同的链接。如何使用硒web驱动程序从不同部分div中识别相同的Web元素?

链接1当前位置将是动态的,有时两者链接将内DIV1和DIV 2。有些倍显示链接1将只显示内DIV 1或它只会内DIV2显示。

<section 1 ... 
<div 1> 
<a class....href="#">Link 1</a> 
</div 1 > 
</section 1> 
<section 2 ... 
<div 2> 
<a class....href="#">Link 1</a> 
</div 2 > 
</section 2> 

我需要实现下面的场景,我不认为xpath将解决这个问题。因为这个div将是动态的。

请帮我解决这个问题

方案1:

当两个div的存在,那么我需要从DIV2点击链接1

方案2:

假设如果链接1不是DIV 1中存在,然后链接1将不可见。 那么,我应该如何确认,只有一个链接存在的任何一个链接1丢失?

回答

0

可以编写一个共同的xpath

List<WebElement> link= driver.findElements(By.xpath("//div/a[text()='Link 1']")); 

您然后可以写一个代码来驱动的逻辑:

方案1:

if(link.size()==2){ 
      link.get(1).click(); 
     } 

方案2:你情景2不清楚。你是说链接将存在于DOM中但不可见? 你可以写这样的东西来检查可见性。

link.get(0).isDisplayed() 
+0

感谢abhijeet !!!!方案1正在正常工作 – Subburaj

+0

我很高兴它为你工作。最好的感谢方式是接受答案并投票:) –

相关问题