我试图单击此日历并使用硒自动插入日期,但出现以下错误:
无效的元素状态:元素必须是用户可编辑的,以便 清除它。
HTML代码段
<a id="enddate-dropdown" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="">
<p class="custom-datepickers__date-prefix ng-binding">To:</p>
<!-- ngIf: displayEndDate -->
<!-- ngIf: !displayEndDate --><div ng-if="!displayEndDate" class="custom-datepickers__no-date ng-scope"></div><!-- end ngIf: !displayEndDate -->
</a>
代码段
myclass.SetDateByXpath("//*[@id=\"enddate-dropdown\"]/p",myclass.GetDate("yyyy/MM/dd",mydate));
public void SetDateByXpath(String element,String value)
{
WebElement webElement = ExplicitWaitOnElement(By.xpath(element));
((JavascriptExecutor) driver).executeScript(
"arguments[0].removeAttribute('readonly','readonly')",webElement);
webElement.clear();
webElement.sendKeys(value);
}
如果我手动设置日期,则为HTML:
<a id="enddate-dropdown" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="">
<p class="custom-datepickers__date-prefix ng-binding">To:</p>
<!-- ngIf: displayEndDate --><p ng-if="displayEndDate" class="ng-binding ng-scope">2019/11/21</p><!-- end ngIf: displayEndDate -->
<!-- ngIf: !displayEndDate -->
</a>
网站可能已更改,但是现在我不知道如何设置该值。任何帮助将不胜感激。
谢谢