2012-06-01 16 views
0

我使用只讀形式加載它使用ExtJS的+硒:@value給出什麼

"popup.down('form').loadRecord(record);" 

表單域控制器被定義爲

items:[ 
{ 
    xtype:'textfield', 
    fieldLabel:'Array Id', 
    name:'id' 
}, 
{ 
    xtype:'textfield', 
    fieldLabel:'Array Name', 
    name:'name' 
} 
] 

值:[ id:10, name: 'testing']

生成的HTML代碼爲:

<form id = 'arraydevicewindowid'> 

    <input type="text" autocomplete="off" class="x-form-field x-form-text" size="20"  name="${array.arrayName}" id="ext-gen1314" readonly="" aria-readonly="true" aria-invalid="false" placeholder="--NA--" role="textbox" aria-describedby="textfield-1260-errorEl" aria-required="false" data-errorqtip="" style="width: 281px; height: 23px;"> 

</form> 

我嘗試使用以下XPath從由ExtJS的生成的文本框組件中選擇值:

(//div[@id='arraydevicewindowid']//input)[1]//@value 

,但沒有運氣。

(//div[@id='arraydevicewindowid']//input)[1] 

可以讓我選擇我想要的文本框,但@value不起作用。

有什麼想法?

+0

你使用哪種硒,到底是什麼? Selenium IDE(Firefox插件),Selenium RC(舊的和過時的,但仍然可用)或Selenium WebDriver(全新使用WebDrivers的新型閃亮驅動程序)? –

回答

0

問題是Selenium無法使用返回HTML元素以外的其他任何內容的XPath。但value屬性...是節點的屬性,XPath實質上返回一個String。因此,您必須選擇正確的元素,然後使用Selenium內置方法獲取其值。

使用硒IDE:某種魔術與storeValue

使用Java +硒RC:

// assuming 'selenium' is a healthy instance of Selenium 
String value = selenium.getValue("xpath=yourXpath"); 

使用Java +硒的webdriver:

// assuming 'driver' is a healthy instance of WebDriver 
String value = driver.findElement(By.xpath('yourXpath')).getAttribute("value"); 
相關問題