Вместо того, чтобы иметь дело с тем фактом, что даже пустой атрибут readonly
приведет к тому, что элемент будет доступен только для чтения, но $("input[id='Date Input 1']").@readonly
оценивается как значение falsey (так как @readonly
возвращает значениеатрибута, который в вашем случае является пустой строкой) почему бы не превратить навигатор в экземпляр FormElement
module и использовать метод свойства isReadOnly()
, который он предоставляет?
$("input[id='Date Input 1']").module(FormElement).readOnly
РЕДАКТИРОВАТЬ Как указывает kriegaex, $("input[id='Date Input 1']").@readonly
фактически оценивается как истинное значение (поскольку WebDriver всегда возвращает строку, содержащую true
при получении значения атрибута readonly
до тех пор, пока атрибут определен для элемента и независимо от фактического значения этого атрибута).
Вышеприведенное означает, что:
$("input[id='Date Input 1']").module(FormElement).readOnly
и:
$("input[id='Date Input 1']").@readonly
эквивалентны в том смысле, что они оценивают истинное значение.