使用 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】:

这是您发现错误元素的原因。你找到了&lt;app-currency-input&gt;。但是你必须得到一个嵌套的输入(原生&lt;input&gt;元素)。

试试这个:

    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的主要内容,如果未能解决你的问题,请参考以下文章

如何将角度数组数据发送到控制器?

似乎无法将密钥发送到调试视图

角度 4 不发送 cookie 到服务器

从 c# 表单应用程序发布到 api 时,我无法将数据发送到日期时间

节点 Js 无法将消息发送到在线特定套接字

节点 Js 无法将消息发送到在线特定套接字