Вы можете попытаться установить значение input
с помощью Javascript вместо SendKeys
. Это служит обходным решением для многих элементов модуля JS, которые не принимают традиционные взаимодействия Selenium.
var input = PageObjectsLocators.locate_Date_textfield(Iwebdriver);
Iwebdriver.executeScript("arguments[0].setAttribute('value', 'dateValueHere')", input);
Обновлен с C # вместо примера транспортира:
// declare JS executor -- use your webdriver instance for driver
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
var input = PageObjectsLocators.locate_Date_textfield(Iwebdriver);
js.ExecuteScript("arguments[0].setAttribute('value', 'dateValueHere')", input);
Еще одна альтернатива, которую можно попробовать,если вам не нравится подход JS, возможно, перед отправкой ключей щелкните элемент, чтобы выделить его.
int enterdate = 01012016;
// click the input field
PageObjectsLocators.locate_Date_textfield(Iwebdriver).Click();
// send keys to the field
PageObjectsLocators.locate_Date_textfield(Iwebdriver).SendKeys(enterdate + "");