selenium2怎么判断元素不存在

1.当元素不存在的话,通常会抛出NoSuchElementException 导致测试失败,但有时候,我们需要去确保页面元素不存在,才是我们正确的验收条件下面的方法可以用来判定页面元素是否存在

Python版本

def isPresent(self):
  try: 
        driver.find_element_by_xpath(Xpath)
  except NoSuchElementException, e: 
        return False
  return True

Java版本

public boolean doesWebElementExist(WebDriver driver, By selector)
{ 

        try 
        { 
               driver.findElement(selector); 
               return true; 
        } 
        catch (NoSuchElementException e) 
        { 
                return false; 
        } 
}


使用片段

WebDriver driver = new InternetExplorerDriver();  
By locator = By.id("id");  
doesWebElementExist(driver,locator); 

2.类似于seleniumRC中的isTextPresent 方法
用xpath匹配所有元素(//*[contains(.,'keyword')]),判断是否存在包含期望关键字的元素。 使用时可以根据需要调整参数和返回值。

public boolean isContentAppeared(WebDriver driver,String content) {  
    boolean status = false;  
    try {  
        driver.findElement(By.xpath("//*[contains(.,'" + content + "')]"));  
        System.out.println(content + " is appeard!");  
        status = true;  
    } catch (NoSuchElementException e) {  
        status = false;  
        System.out.println("'" + content + "' doesn't exist!"));  
    }  
    return status;  
}  

PS: Selenium1提供的isElementPresent方法也可解决此问题。 selenium.isElementPresent(By.Xpath("//div[@id='kw']"))

转载于:https://my.oschina.net/cym92/blog/725588

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值