2016-08-11 55 views
0

從跨度獲取文本我想要得到的文本所有新產品和發動我試圖此如何硒

driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2/span")).getText(); 

但打印文件夾

<h2 class="iselmf-h2-icon"> 
<span>Folder:</span> 
All New Products and Launches 
</h2> 
+0

driver.findElement()將返回另一個webelement,從元素,你可以簡單地再次查詢標記名稱(在這種情況下,跨度)找到。 –

+1

remove/span from your xpath – lauda

回答

0

文本是在<h2>標記,而不是<span>標記。嘗試

driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText(); 
0

查看HTML標籤

<span>Folder:</span> 

的/ SPAN表示這是跨度的結束,所以如果你使用的跨度作爲標識符那麼它將只返回文件夾。

範圍的父元素是h2標記。因此,爲了H2和/ H2標籤之間得到的一切,你需要做到這一點 -

driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText(); 
+0

driver.findElement(By.xpath(「.//*[@id ='iselmf-folder-detail']/h2/span」))。getText();這段代碼將執行相同的操作,它將從span中檢索文本。看起來像你想說的driver.findElement(By.xpath(「.//*[@ id ='iselmf-folder-detail']/h2」))。getText(); –

+0

正確,道歉並感謝您的糾正!更新。 – Moser

0

兩種方法可以做到這一點,

1)driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText();

2)從兩個獲取文本,然後串聯它,像

String firstblock = driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText(); 
String secondblock = driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2/span")).getText(); 
String finaltext= firstblock+secondblock;