今天我发现SendKeys(Keys.Tab)无法在Chrome webdriver上运行。但是它在IE和FireFox上运行得很好。除了Tab之外,我尝试了很少的其他键,如Space,Backspace,Clear,一些文本,Enter等在Chrome上按预期工作。
例如: 私人IWebDriver驱动程序; 私有字符串baseURL;
driver = new ChromeDriver();
driver.Navigate().GoToUrl("https://accounts.google.com/SignUp?");
driver.FindElement(By.Id("FirstName")).Clear();
driver.FindElement(By.Id("FirstName")).SendKeys(Keys.Tab);
有人知道为什么,Keys.Tab不会使用最新的Chrome版本53.0.2785.116吗?
操作系统:Windows 7 Service Pack 1
光标假设移动/聚焦到姓氏文本字段
答案 0 :(得分:0)
尝试在代码末尾添加以下代码:
var element = driver.FindElement(By.Id("FirstName"));
if (!element.Equals(driver.SwitchTo().ActiveElement())) return;
var js = (IJavaScriptExecutor)driver;
js.ExecuteScript("arguments[0].blur();", element);
这意味着如果光标仍然聚焦于当前元素,则触发模糊功能移动到下一个元素。