2016-05-23 10 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

我很高興它爲你工作。最好的感謝方式是接受答案並投票:) –

相關問題