当我使用SendKeys
发送右光标箭头时,插入标记移动到contenteditable的末尾,而不是右边的一个字符。
在输入框上按预期工作
用于以前的版本(6个月前,不知道版本)
关键事件处理程序报告已按预期输入了右箭头
版本
铬:78.0.3904.108
chrome驱动程序:78.0.3904.105
Selenium.Chrome.WebDriver:77.0.0
Ubuntu 18.04
这是样本单元测试:
using System.Threading;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Interactions;
namespace SeleniumTest
{
[TestFixture]
public class MiniTest
{
[Test]
public void Test()
{
var driver = new ChromeDriver("/usr/bin", new ChromeOptions());
driver.Navigate().GoToUrl("file:///home/daw/Desktop/test.html");
Thread.Sleep(3000);
var element = driver.FindElement(By.CssSelector("#test"));
new Actions(driver)
.MoveToElement(element, 1, 1)
.Click()
.Perform();
driver.SwitchTo().ActiveElement().SendKeys(Keys.ArrowRight);
}
}
}
和一个示例页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="test" contenteditable>This is a test</div>
<input id="test2" value="This is a test"></input>
</body>
</html>
您可以更改
#test
id以在元素类型之间切换。编辑:提出
硒虫https://github.com/SeleniumHQ/selenium/issues/7841
chromedriver错误https://bugs.chromium.org/p/chromedriver/issues/detail?id=3260
最佳答案
这已被确定为与网络驱动程序规范的最新更改有关的chromedriver错误:
https://bugs.chromium.org/p/chromedriver/issues/detail?id=3214
WebDriver规范有一个开放的PR。批准后,我们将解决此问题
关于c# - Selenium SendKeys Keys.ArrowRight移动到可编辑内容的结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59161603/