将键发送到页面而没有输入元素

Rob*_*ker 5 c# selenium webdriver selenium-webdriver

keypress运行事件侦听器的网页上,我希望能够测试发送击键.但该页面没有输入元素和调用

driver.FindElement(By.XPath("//body")).SendKeys("abc");
Run Code Online (Sandbox Code Playgroud)

引发关于需要元素可编辑以接受击键的错误(针对Chrome).

有没有办法生成击键,以便页面看到它们而不注入虚拟输入元素?

Yi *_*eng 18

我没有测试过,但你介意Actions.SendKeys试试吗?

示例在C#中:

// without an element
new Actions(driver).SendKeys("abc").Perform();

// send keys to body
new Actions(driver).SendKeys(driver.FindElement(By.XPath("//body")), "abc").Perform();
Run Code Online (Sandbox Code Playgroud)

  • 谢谢 - 这很有效.对于其他任何寻找动作的人都在OpenQA.Selenium.Interactions命名空间中 (5认同)