2017-07-14 107 views
0

你好我試圖捕獲名稱位於標籤標籤中的複選框旁邊的名稱是在相同的跨度類中。當試圖使用getText()方法捕獲文本時,我得到空名稱。Selenium Webdriver捕獲複選框文本

在代碼中顯示它如何操作。

//to find the checkbox 
@FindBy(how = How.ID, id = "ConstructionManagement") 
private WebElement constructionMgmnt; 

使用此getText但我得到空的文本。使用的getAttribute當我得到與複選框的實際名稱爲$ PpyWorkPage $ pOutageRequest $ pConstructionManagement

constructionMgmnt.getText(); 
constructionMgmnt.getAttribute("name") 

頁面源複選框是如何編碼的。

<span class="checkbox" data-ctl="Checkbox"> 
    <input value="false" name="$PpyWorkPage$pOutageRequest$pConstructionManagement" type="hidden"> 
    <input id="ConstructionManagement" class="checkbox chkBxCtl" value="true" name="$PpyWorkPage$pOutageRequest$pConstructionManagement" validationtype="true-false" pn=".ConstructionManagement" type="checkbox"> 
    <label class=" cb_standard" for="ConstructionManagement">Construction Management</label> 
</span> 

誰能想到如何抓住要收到所指向的複選框ID元素中的文本,或者我必須使用的XPath的標記讓旁邊的複選框的文本?

//example of garbing the name of the Label (I tested this and it works) 
driver.findElement(By.xpath("//label[@for='ConstructionManagement']")); 

謝謝。

回答

1

這裏是回答你的問題:

使用下面的代碼來定位標籤:

//to find the Label Text 
@FindBy(how = How.ID, xpath = "//input[@id='ConstructionManagement')//following::label[1]" 
private WebElement constructionMgmnt_label; 

接下來,您可以使用以下以檢索複選框文字如下:

String my_label = constructionMgmnt_label.getAttribute("innerHTML") 

讓我知道這個答案是否是您的問題。

+0

感謝您的快速回放。 –

+0

@TomaszWida如果迎合您的問題,請接受答案。謝謝 – DebanjanB

相關問題