使用 C# 我无法将密钥发送到角度标签 <app-currency-input> 我收到此错误 Element <app-currency-input class= is not r
Posted
技术标签:
【中文标题】使用 C# 我无法将密钥发送到角度标签 <app-currency-input> 我收到此错误 Element <app-currency-input class= is not reachable by keyboard\'【英文标题】:Using C# I cannot sendKeys to an angular tag <app-currency-input> I get this error Element <app-currency-input class= is not reachable by keyboard'使用 C# 我无法将密钥发送到角度标签 <app-currency-input> 我收到此错误 Element <app-currency-input class= is not reachable by keyboard' 【发布时间】:2021-11-20 16:16:25 【问题描述】:我尝试了很多解决方案,例如隐式等待 - 这不起作用,文本字段可以通过鼠标单击但无法通过键盘访问,因此无法输入值但可以单击文本字段。
我也有这个办法
IjavascriptExecutor js = (IJavaScriptExecutor)driver;
IWebElement element = driver.FindElement(By.Name("InvoiceAmount"));
js.ExecuteScript("arguments[0].value='100';", element);
这什么也不做,也不会给出任何错误。请帮忙。谢谢
【问题讨论】:
可以在这里分享文本格式的 html 吗? 【参考方案1】:您是否尝试在发送密钥之前查找元素并单击?
IWebElement element = driver.FindElement(By.Name("InvoiceAmount"));
Action.MoveToElement(element,0,0).Click().Build().Perform();
【讨论】:
【参考方案2】:这是您发现错误元素的原因。你找到了<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]);
【讨论】:
非常感谢,这行得通。以上是关于使用 C# 我无法将密钥发送到角度标签 <app-currency-input> 我收到此错误 Element <app-currency-input class= is not r的主要内容,如果未能解决你的问题,请参考以下文章