我正在编写一些使用Telerik RadEditor控件的Selenium WebDriver脚本。我可以使用RadEditor以下列方式成功地将内容输入C#:
Driver.FindElement(By.Id("Id_Of_RadEditor_Iframe")).SendKeys("Hello World!");但我一直未能找到一种方法来清除RadEditor的现有内容。如果我尝试以下几点:
Driver.FindElement(By.Id("Id_Of_RadEditor_Iframe")).Clear();我会得到这个错误:
OpenQA.Selenium.InvalidElementStateException: invalid element state:
Element must be user-editable in order to clear it.有谁知道清除RadEditor中现有内容的方法吗?
有人认为这可能是Selenium WebDriver中的一个bug吗?因为我知道IFrame是可编辑的,因为我可以成功地执行SendKeys()。这似乎使错误不正确。
克里
发布于 2016-09-01 18:22:34
我终于重新审视了这个问题,因为我有更多的需要来实现这一目标。下面是我实现并为我工作的“工作”:
var targetElement = Driver.FindElement(By.Id("Id_Of_RadEditor_Iframe"));
int length = targetElement.Text.Length;
for (var i = 0; i < length; i++)
{
targetElement.SendKeys(Keys.Delete);
}发布于 2015-02-10 15:14:57
我也有同样的问题,还没有找到答案。
作为一种解决方法,您可以使用一个循环,并且:
searchBox.sendKeys(Keys.BACK_SPACE);https://sqa.stackexchange.com/questions/8803
复制相似问题