2017-07-27 62 views
-1

我需要獲取標題標題的xpath,該標題只能在「檢查元素」選項卡中提供類和文本本身。如何在Java Selenium Webdriver中使用Java查找標題標題的xpath

目標是有一個if語句來檢查頁面的標題是否與我預期的標題匹配,以便我可以運行將命令Selenium的代碼。我之所以不使用「通過linkText查找網頁元素」是因爲標題的實際內容可以在各種頁面中查看。因此,我的代碼總是會運行,因爲文本總是存在。我也不能僅僅使用這個類,因爲每個頁面的類名是相同的。

我需要它是具體的頭本身使用的類名和文本。

我試過 if(driver.findElements(By.xpath("//*[@class='className' and contains (text(),'headerText')]")) !=null)但即使標題文本不匹配,它仍會繼續運行。我相信這將是因爲技術上這個班同時還有文本本身,儘管它們是不同的元素。

+1

您是否會提供一個包含應該匹配的元素的HTML示例? –

+0

國際海事組織,你正在混合兩個不同的項目/元素。它可以是「頁面標題」或「頁面標題」。我不確定'標題標題'是否有意義。 – DebanjanB

+0

@DebanjanB對不起,我的意思只是表示頁面標題。 – gotj

回答

0

兩個可能的點有:

  1. driver.findElements(..)永遠不會爲空。如果找不到匹配的元素,它將返回一個空集合。因此,使用driver.findElements(..).isEmpty()來處理沒有發現任何東西時的情況
  2. 如果仍未找到任何元素,請嘗試使用contains(.,'headerText')而不是contains(text(),'headerText')。當您的標題文本元素包含一些子標記/格式標記時,第一個選項將起作用。
+0

我試了你的第二個選項,並創造奇蹟,非常感謝你! – gotj

相關問題