技术改变人生!
selenium脚本开发遇到删除元素问题
上一篇 /
下一篇 2013-03-15 18:32:46
/ 个人分类:selenium
if (TestConfig.action.type == "listManager")
{
var editLink = WaitForElementPresent(Driver, By.LinkText("List Manager"));
//一般超级链接用By.LinkText比较好,by.class,By.ID不太识别
editLink.Click();
IWebElement listManagerFrame. = WaitForElementPresent(Driver, By.Id("listmanager"));
IWebDriver listManagerDriver = Driver.SwitchTo().Frame(listManagerFrame);
IWebElement mediaTab = WaitForElementPresent(listManagerDriver, By.Id("ext-comp- 1003__media"));
mediaTab.Click();//切换tab不需要加延时函数
while(true)
{
ReportTab.WaitForReportResultPageLoad(listManagerDriver);
//删除元素列表部分元素,每当删除一个元素的时候,元素对象都会重新刷新,所以需要你重新获取其它元素列表元素,用while循环
if(!ElementExists(listManagerDriver, By.ClassName("lmItem")))
{
break;
} //判断元素存在
IWebElement mediaListManager = WaitForElementPresent(listManagerDriver, By.ClassName("lmItem"));
//尽可能找和delete按钮最近的class父元素
var deleteElements = GetElements(mediaListManager, By.TagName("img"));
foreach (var deleteElement in deleteElements)
{
if (deleteElement.GetAttribute("src").Contains("delete-icon.gif"))
{
deleteElement.Click();
ReportTab.WaitForReportResultPageLoad(listManagerDriver);
IWebElement confirmWindow = WaitForElementPresent(listManagerDriver, By.ClassName("x-window-footer"));
IWebElement button = GetButton(confirmWindow, "Yes", Driver);
button.Click();
break;
}
}
}
Driver.SwitchTo().DefaultContent();//因为上面切换到franmeDrive,这个需要切换回默认的
rn;
}
收藏
举报
TAG: