【问题标题】:How to Change value of Element using Javascript Selenium C#如何使用 Javascript Selenium C# 更改元素的值
【发布时间】:2020-05-28 11:16:52
【问题描述】:

我是自动化新手。我正在尝试自动化网页,我必须在一个文本字段中输入一些文本,我尝试了 driver.FindElement(By.XPath("Xpath of elemnt").SendKeys ("Value"); 但这不起作用,所以我尝试通过 Javascript driver.ExecuteJavaScript("arguments[0].value='100';", 'Element path'); 发送值,这工作正常。 但是这个元素需要实际的击键来识别元素的值是否改变。即使我在字段页面中输入了文本,在镜头中仍然将字段视为空白。 有人可以帮助我吗?

【问题讨论】:

  • 您能否提供链接或更多详细信息,以便我们实际检查可以做什么?
  • 我无法共享网站链接,因为它是我公司内部的。我还应该分享哪些可能有用的信息?

标签: javascript c# selenium


【解决方案1】:

您可以在元素上调用按键事件(或触发元素状态更改的任何事件)。

类似这样的:

driver.execute_script("arguments[0].dispatchEvent(new KeyboardEvent('keypress', {'key':'a'}));")

【讨论】:

  • 对不起,我是新手,所以我尝试使用上面的代码并收到以下错误“{”来自 JavaScript 的错误:无法获取未定义或空引用的属性“dispatchEvent”“}”事件如果我按任何数字键,则会触发字段。你能帮我提供合适的代码吗?
  • 对不起,我之前忘了添加元素的定位器。更正的代码是 ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].dispatchEvent(new KeyboardEvent('keypress', {'key':'49'}));", Xpath of element);现在我收到以下错误:- {“来自 JavaScript 的错误:对象不支持此操作”}
  • 以下是手动按键/单击之前字段的 HTML 代码:- 手动点击后:
  • 手动输入数值后: 请让我知道,以防我需要分享任何可以提供帮助的信息。
猜你喜欢
  • 2013-07-16
  • 2017-01-18
  • 1970-01-01
  • 2011-06-22
  • 2010-09-16
  • 1970-01-01
  • 2017-07-17
相关资源
最近更新 更多