2015-12-30 37 views
0

我有這個邏輯,它獲取當前頁面的標題,首先點擊下一個按鈕,再次獲取標題,如果兩個標題相同,則意味着導航沒有移動到下一頁,它再次點擊下一步。在Xpath中使用OR條件來識別相同的元素

但是,我的問題是標題元素的Xpath不同 - 相同的標題元素有兩個Xpath。其中一頁是另一頁的其他頁面。

它要麼是這個,

(.//span[@class='g-title'])[2] 

OR

.//span[@class='g-title'] 

那麼,我該怎麼處理呢?

+0

whatz該索引 '2' 。你可以發佈你正在使用的網址嗎? –

+0

是否有使用xpath找出頁面標題的具體原因? Selenium Webdriver API有一個獲取頁面標題的方法(就像下面的Java綁定答案中提到的那樣)。謝謝。 –

+0

如果您在xpath中查找OR(|)運算符,則可以這樣嘗試「(.//span[@class='g-title'])[2]|.//span[@class='g-標題']「。我希望這是你正在尋找的。 –

回答

3

如果元素有兩個XPath的,那麼你可以寫兩個XPath像下面

xpath1 | xpath2

如://input[@name="username"] | //input[@id="wm_login-username"]

它會選擇任何一個的XPath

0

只要在這裏使用條件。這樣做下面

String title1= YOUR Expected Title 

String currenttitle= driver.getTitle(); 

if(currenttitle.equalsIgnoreCase(title1)) 
{ 

}else{ 

} 

OR

Boolean isPresent = driver.findElements(By.yourLocator).size() > 0 

if(isPresent==true) 
{ 

} 
else{ 

} 

欲瞭解更多信息請參閱本: - Selenium WebDriver - Test if element is present

+0

我有大量的頁面在應用程序中。硬編碼的東西將無法正常工作。 –

+0

試試這個xpath - > .//span[@class='g-title'][2]或.//span[@class='g-title'] –

相關問題