我已经尝试了一堆解决方案,比如隐式等待 - 这不起作用,文本字段可以通过鼠标单击但无法通过键盘访问,因此无法输入值但可以单击文本字段。

我也有这个解决方案

           ,javascript,c#,.net,selenium"/>
	














首页 > 解决方案 > 使用 C# 我无法将密钥发送到角度标签我得到这个错误元素

我已经尝试了一堆解决方案,比如隐式等待 - 这不起作用,文本字段可以通过鼠标单击但无法通过键盘访问,因此无法输入值但可以单击文本字段。

我也有这个解决方案

           

问题描述

我已经尝试了一堆解决方案,比如隐式等待 - 这不起作用,文本字段可以通过鼠标单击但无法通过键盘访问,因此无法输入值但可以单击文本字段。

我也有这个解决方案

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

这什么都不做,也不会给出任何错误。请帮忙。谢谢你。在此处输入图像描述


您是否尝试在发送密钥之前找到元素并单击?

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

标签: javascriptc#.netselenium

解决方案


这是您发现错误元素的原因。你找到了<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]);

推荐阅读