我今天一直在努力解决这个问题;
我有一个输入字段,其中包含一些显示“提示”的自定义JavaScript。当字段的值为空并且用户没有点击该字段(即聚焦在该字段上)时的文本片段。否则就会消失。
从几天前开始,以下代码在输入字段中使用了这个提示JS:
WebDriver driver = chromeDriver;
WebElement fieldWithHint = driver.findElement(By.id("myField"));
fieldWithHint.sendKeys(newValue);
今天它不起作用(因为我已经重新启动了我的机器) - 提示JS非常困惑并且在输入文本时,移动到下一个字段,然后将文本显示为提示。
我刚刚发现以下内容仍有效:
WebDriverBackedSelenium driverWrapper = new WebDriverBackedSelenium(chromeDriver, "http://localhost/");
WebElement fieldWithHint = chromeDriver.findElement(By.id("myField"));
driverWrapper.type(fieldWithHint.getAttribute("name"), newValue);
我使用的是WebDriver for Java(版本0.9.7376),最新的ChromeDriver(2.9)和Chrome版本34.0.1847.116 m。
我想知道重新启动计算机并重新启动Chrome是否已更新并导致此问题。
有没有人见过这个?这是一个众所周知的问题吗?
我试过先点击该字段无济于事。
答案 0 :(得分:1)
自升级到v34以来,我刚刚遇到了相关问题。
我有一个输入字段页面,每个字段链接到一个onblur事件,我通过输入中的选项卡触发。
升级之前,这个工作正常,现在从最后一个字段中跳出来,不会触发事件。
手动选项卡将焦点转移到地址栏,其中selenium选项卡转到DOM中的第一个元素。我还没有对v33进行同样的调查,也没有提出缺陷。
我知道这与升级相关联,因为它在已自动更新的网格节点上失败但在我升级之前在本地很好
<强> *** *** EDIT 强>
管理与Chromedriver(https://code.google.com/p/chromedriver/issues/detail?id=762)
重现和成长我的问题是,如果您发送:标签,这会导致焦点转移到地址栏,那么即使您与元素进行交互,焦点也不会重新应用于元素。