Используя C#, я не могу отправить ключи в угловой тег , я получаю этот элемент ошибки

#javascript #c# #.net #selenium

Вопрос:

Я пробовал кучу решений, таких как неявное ожидание — это не работает, текстовое поле доступно для мыши, но недоступно для клавиатуры, поэтому значения нельзя вводить, но по текстовому полю можно щелкнуть.

У меня также есть это решение

              IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
             IWebElement element = driver.FindElement(By.Name("InvoiceAmount"));
             js.ExecuteScript("arguments[0].value='100';", element);
 

это ничего не делает и также не дает никаких ошибок. Пожалуйста, помогите. Спасибо.введите описание изображения здесь

Комментарии:

1. Можете ли вы поделиться HTML в текстовом формате здесь ?

Ответ №1:

Это из-за того, что вы нашли неправильный элемент. Ты нашел <app-currency-input> . Но вы должны получить вложенный ввод (собственный <input> элемент).

Попробуй это:

     IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
    IWebElement element = driver.FindElement(By.Name("InvoiceAmount"));
    ReadOnlyCollection<IWebElement> inputElements = element.FindElements(By.TagName("input"));
    js.ExecuteScript("arguments[0].value='100';", inputElements[0]);
 

Комментарии:

1. Большое спасибо, это работает.

Ответ №2:

Вы пробовали найти элемент и нажать кнопку перед отправкой ключей?

 IWebElement element = driver.FindElement(By.Name("InvoiceAmount"));
Action.MoveToElement(element,0,0).Click().Build().Perform();