2014-03-25 23 views
0

HTML代碼如何從這個HTML代碼的文本使用硒的webdriver與Java

<label for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21">Royality Free</label> 

硒碼

driver.findElement(By.id("ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21")).getText(); 

以上硒的代碼無法正常工作,即使我嘗試的getAttribute(); 其顯示NullPointerException

+0

您可以發佈網頁網址或完整的HTML代碼片段嗎? –

+0

一種選擇是使用其父代或祖先到達標籤 – Amith

回答

1

您正在嘗試從標籤中讀取文本,但您正在查找具有ID的元素ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21這不是標籤的ID。

你的代碼應該是:

WebElement labelElement = driver.findElement(By.cssSelector("label[for="ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21"]")); 
System.out.println(labelElement.getText()); 

這應該工作。

此外,定位符:ctl00_ContentPlaceHolder1_RadPanelBar1_i0_chkColumns_21似乎是一個隨機生成的定位符。只要確認它不是這種情況。如果是,那麼你將需要改變你的定位策略。