我有這個邏輯,它獲取當前頁面的標題,首先點擊下一個按鈕,再次獲取標題,如果兩個標題相同,則意味着導航沒有移動到下一頁,它再次點擊下一步。在Xpath中使用OR條件來識別相同的元素
但是,我的問題是標題元素的Xpath不同 - 相同的標題元素有兩個Xpath。其中一頁是另一頁的其他頁面。
它要麼是這個,
(.//span[@class='g-title'])[2]
OR
.//span[@class='g-title']
那麼,我該怎麼處理呢?
我有這個邏輯,它獲取當前頁面的標題,首先點擊下一個按鈕,再次獲取標題,如果兩個標題相同,則意味着導航沒有移動到下一頁,它再次點擊下一步。在Xpath中使用OR條件來識別相同的元素
但是,我的問題是標題元素的Xpath不同 - 相同的標題元素有兩個Xpath。其中一頁是另一頁的其他頁面。
它要麼是這個,
(.//span[@class='g-title'])[2]
OR
.//span[@class='g-title']
那麼,我該怎麼處理呢?
如果元素有兩個XPath的,那麼你可以寫兩個XPath像下面
xpath1 | xpath2
如://input[@name="username"] | //input[@id="wm_login-username"]
它會選擇任何一個的XPath
只要在這裏使用條件。這樣做下面
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
我有大量的頁面在應用程序中。硬編碼的東西將無法正常工作。 –
試試這個xpath - > .//span[@class='g-title'][2]或.//span[@class='g-title'] –
您可以使用or
運營商像
(.//span[@class='g-title'])[2] or .//span[@class='g-title']
whatz該索引 '2' 。你可以發佈你正在使用的網址嗎? –
是否有使用xpath找出頁面標題的具體原因? Selenium Webdriver API有一個獲取頁面標題的方法(就像下面的Java綁定答案中提到的那樣)。謝謝。 –
如果您在xpath中查找OR(|)運算符,則可以這樣嘗試「(.//span[@class='g-title'])[2]|.//span[@class='g-標題']「。我希望這是你正在尋找的。 –