如何从selenium java
中的已禁用输入字段中获取文字?
以下是HTML
代码。
<input id="endDate" class="ng-pristine ng-untouched ng-valid ng-valid-maxlength" data-ng-disabled="dateRange!=='Cm'" size="10" maxlength="10" data-ng-model="endDate" validate-date="" name="endDate" disabled=""/>
我正在寻找selenium java代码来从该禁用的输入字段中获取文本值。
尝试getAttribute("disabled")
。但它回归真实
尝试WebElement.getAttribute("id")
,但它返回null值。它都不起作用。
将动态生成该字段的值。例如,如果我今天选择,则值将填充为SYSDATE
。昨天的价值将是SYSDATE-1
答案 0 :(得分:6)
尝试:
webElement.findElement(By.cssSelector("#endDate")).getAttribute("value")
或
webElement.findElement(By.cssSelector("#endDate")).getText()
你必须尝试它取决于你的特殊情况。如果这些variante不起作用,请检查您的选择器是否正确。
如果他们都没有工作,请尝试获取angular.element的值,如下所示:
return (String) ((JavascriptExecutor) this.webDriver).executeScript("angular.element($('#endDate')).text()");