考虑我在不同的部分div中有相同的链接。
链接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中的Link 1
情景2:
假设如果在div 1中不存在Link1,则<a class....href="#">Link 1</a>
将不可见。那么,如果链路1中的任何一个丢失,我应该如何确认只有一个链接?
答案 0 :(得分:2)
您可以编写一个通用的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()