2016-02-26 95 views
0

我有兩個div。要求是我需要點擊上傳按鈕。我需要通過檢查Button文本上傳來找到第一個div和第二個div的xpath,然後我需要點擊它。那麼如何找到div的xpath並點擊它。是否還有一個CSSselector可用於相同的?Xpath和CSSselector用於具有相同html結構的兩個div

<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2"> 
    <button class="btn btn-primary" type="submit"> 
    <i class="fa fa-upload"/> 
     Upload 
    </button> 
<a href="SomeLinkHere"> 
<button class="btn" type="button">Cancel</button> 
</a> 
</div> 

<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2"> 
    <button class="btn btn-primary" type="submit"> 
    <i class="fa fa-upload"/> 
     Upload 
    </button> 
<a href="SomeLinkHere"> 
<button class="btn" type="button">Cancel</button> 
</a> 
</div> 
+0

對不起試試這個//我[包含(文本(),「上傳」)] –

+0

@sameerjoshi這不會工作,因爲「上傳」正在

+0

@Melvin理查德在上述替換標記我與按鈕,並嘗試如果它不工作,然後嘗試此按鈕[@ type,'submit']。click();希望它能起作用 –

回答

0

你可以嘗試以下XPath:

//div[./button/i[contains(text(), 'Upload')]] 

這個XPath將返回div元素。

編輯:要獲得button元素

//button[./i[contains(text(), 'Upload')]] 
+0

你好傑森,這是行不通的。因爲標籤在上傳之前已關閉。所以基本上上傳是寫在按鈕標籤下。 –

+0

@MelvinR​​ichard - 我明白你的觀點。但我想問一個問題。你使用硒蹼驅動器還是SeleniumIDE? – JRodDynamite

0

我建議你安裝的Firefox硒的IDE。它有內置的元素定位器,證明在像你這樣的情況下很有用。

我試着渲染你在jsfiddle.net中提供的html代碼,並設法使用硒ide來獲取它們的xpath。你可以看到它here

相關問題