我无法在java控制台上打印数量文本框(即 2)内的值,因为此页面使用的是Angular JS。
<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">
我如何获得价值?
答案 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);