技术改变人生!

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:

 

评分:0

我来说两句

Open Toolbar