Selenium:无法获取文本框值

时间:2017-05-19 12:10:40

标签: java selenium-webdriver

我无法在java控制台上打印数量文本框( 2)内的值,因为此页面使用的是Angular JS。enter image description here

<input id="a0X63000000WSgtEAGQI" class="input-edit ng-pristine ng-valid ng-not-empty ng-valid-maxlength ng-touched" maxlength="16" min="0" ng-blur="onDblClickQuantityInp(item.Id,item)" ng-keyup="onKeyUpQuantityInp(item.Id,item)" ng-model="item.Bsvp_Quantity__c" placeholder="0.00" valid-number="true" type="text">

我如何获得价值?

2 个答案:

答案 0 :(得分:0)

使用JavascriptExecutor,例如

if(driver instanceof JavascriptExecutor) {
    String s = ((JavascriptExecutor) driver).
     executeScript("return document.getElementById(\"a0X63000000WSgtEAGQI\")
     .getAttribute("value");                                  
    ");
    System.out.println(s);
}

您需要import org.openqa.selenium.JavascriptExecutor;

答案 1 :(得分:0)

我得到了答案。我没想到 getAttribute(&#34; value&#34;)会获得文本框内的值。我想过使用变量,因为值不在HTML标签内部。毫无意义,但后来我继续前进发现了。

WebElement element = driver.findElement(By.xpath("//div[@id='watchtab']/div/div/table/tbody/tr[1]/td[8]/div/input"));

String value = element.getAttribute("value");
System.out.println(value);