Selenium 无法确定 richfaces 日历是否被禁用

Selenium cannot determine if richfaces calendar is disabled

我有一个丰富的日历:

<rich:calendar id="calendarId" disabled="true"..... />

我尝试用 selenium 确定日历元素是否被禁用

webDriver.findElement(By.id("calendarId")).isEnabled();

结果是 true,尽管我的日历被禁用了。

这是 rich:calendar 和 selenium 的一个已知问题?有谁知道如何确定日历是否被禁用?

只需使用:

webDriver.findElement(By.id("calendarIdInputDate")).isEnabled();

应该是组件的clientID+"InputDate"(这是RichFaces中日历input中添加的后缀)。这是因为带有 id="calendarId" 的 HTML 元素只是组件其余部分的 DIV 包装器,它没有 disabled 属性。