2014-02-14 58 views
-1

我想要使用webdriver得到值'Accept'。但我总是变得空白。我尝试了所有By选项,如idnamexpath如何获取被禁用的输入的'value'属性的值

<input type="submit" value="Accept" id="nid" name="n" class="c" disabled="disabled"> 

webdriver的

WebElement aButton = driver.findElement(By.xpath("//*[@name='n']")); 
System.out.println(aButton.getText());    #=> blank 
System.out.println(aButton.getAttribute("value")); #=> blank 
+0

尝试执行JavaScript $$( '#NID')ATTR( '值');' 这应该做的事。 –

回答

-1

硒的文档清晰地说关于gettext()是:

获取可见(即不由CSS隐藏)此元素的innerText,包括子元素,没有任何前导或尾随空白

所以你不能直接使用它,但你可以尝试的webdriver的executeScript方法,编写获取隐藏的元素值一些js脚本,用这种方法执行该脚本。它可以帮助。

+3

'disabled'与'hidden'不同# – Bala

+0

@Bala - 我使用你提供的html元素测试了一个小应用程序,我可以使用下面的代码获得该元素的值\t WebElement e = driver.findElement(By .ID( “NID”)); System.out.println(e.getAttribute(“value”));我也可以使用By.xpath(“// * [@ name ='n']”)和By.xpath(“// * [@ id ='nid']”)来获取值...你挑衅地有其他问题。请检查您的代码。 –