И я предполагаю, что в идентификаторе этого элемента есть дополнительный пробел :) Попробуйте:
wait.Until(x => x.FindElement(By.Id("Tasrit_6aecdca9-e3b9-4141-ae36-d537784f9592_$TextField_inplacerte")));
element.Click();
Либо это , либо значение Id этого элемента в DOMразные , $TextField_inplacerte
переменные, которые, например, анализируются.spaceMonkey, undefined, 5 и т. д. Откройте инструменты разработки, найдите элемент, щелкните правой кнопкой мыши, проверьте и подтвердите фактический идентификатор элемента в DOM.
Вы можете использовать API инструментов dev для поиска текста в DOM текущей открытой страницы (с этим элементом в нем), если он совпадает с Id, если нет, то в этом есть разница.Это может быть любая часть, например.6-й символ в Id отличается:)
Просто чтобы убедиться, что пробел между 1-й частью идентификатора и 24, который вы упоминаете, является проблемой, которую вы можете либо:
посмотретькод веб-драйвера и посмотрите, что используется для доступа к элементам DOM
загрузите jquery перед тестированием:
var element = wait.Until (x => x.FindElements($ ('# id, содержащий пробелы')). SendKeys ("foo");
По сути, вместо использования способа поиска элемента с помощью веб-драйвера вы используете jQuery для получения ссылки на элементЕсли это работает, это проблема с пространством из-за плохого дизайна приложения, имеющего пространство в id элемента
Возможно, именно поэтому маршрут селектора CSS работал.