如何validationselenium2中存在或可见的元素(Selenium WebDriver)

任何人都可以给我发送示例代码如何validation元素

  1. 存在
  2. 可见性
  3. isenable
  4. textpresent

在Selenium WebDrvier中使用Java

我使用java打印语句以便于理解。

  1. 检查元素存在:

    if(driver.findElements(By.xpath("value")).size() != 0){ System.out.println("Element is Present"); }else{ System.out.println("Element is Absent"); } 

    要么

     if(driver.findElement(By.xpath("value"))!= null){ System.out.println("Element is Present"); }else{ System.out.println("Element is Absent"); } 
  2. 要检查可见性:

     if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){ System.out.println("Element is Visible"); }else{ System.out.println("Element is InVisible"); } 
  3. 要检查启用:

     if( driver.findElement(By.cssSelector("a > font")).isEnabled()){ System.out.println("Element is Enable"); }else{ System.out.println("Element is Disabled"); } 
  4. 检查文本

     if(driver.getPageSource().contains("Text to check")){ System.out.println("Text is present"); }else{ System.out.println("Text is absent"); } 

你可以尝试类似的东西:

  WebElement rxBtn = driver.findElement(By.className("icon-rx")); WebElement otcBtn = driver.findElement(By.className("icon-otc")); WebElement herbBtn = driver.findElement(By.className("icon-herb")); Assert.assertEquals(true, rxBtn.isDisplayed()); Assert.assertEquals(true, otcBtn.isDisplayed()); Assert.assertEquals(true, herbBtn.isDisplayed()); 

这只是一个例子。 基本上,您声明并定义要使用的WebElement变量,然后Assert它们是否显示。 这是使用TestNG断言。

这是我的Selenium WebDriver的Java代码。 编写以下方法并在断言期间调用它:

 protected boolean isElementPresent(By by){ try{ driver.findElement(by); return true; } catch(NoSuchElementException e){ return false; } } 

尝试使用以下代码:

 private enum ElementStatus{ VISIBLE, NOTVISIBLE, ENABLED, NOTENABLED, PRESENT, NOTPRESENT } private ElementStatus isElementVisible(WebDriver driver, By by,ElementStatus getStatus){ try{ if(getStatus.equals(ElementStatus.ENABLED)){ if(driver.findElement(by).isEnabled()) return ElementStatus.ENABLED; return ElementStatus.NOTENABLED; } if(getStatus.equals(ElementStatus.VISIBLE)){ if(driver.findElement(by).isDisplayed()) return ElementStatus.VISIBLE; return ElementStatus.NOTVISIBLE; } return ElementStatus.PRESENT; }catch(org.openqa.selenium.NoSuchElementException nse){ return ElementStatus.NOTPRESENT; } } 

要确保元素存在,您可以执行以下操作:

 driver.findElements(By.id("id")); 

这将返回一个数组,如果该数组大小> 0则存在元素/ s。

此外,您需要提供更多信息,例如语言以及您在询问之前尝试过的内容,

祝你好运

要检查元素是否可见,我们需要使用element.isDisplayed(); 但是如果我们需要检查Dom中任何地方元素的存在 ,我们可以使用以下方法

 public boolean isElementPresentCheckUsingJavaScriptExecutor(WebElement element) { JavascriptExecutor jse=(JavascriptExecutor) driver; try { Object obj = jse.execute("return typeof(arguments[0]) != 'undefined' && arguments[0] != null;", element); if (obj.toString().contains("true")) { System.out.println("isElementPresentCheckUsingJavaScriptExecutor: SUCCESS"); return true; } else { System.out.println("isElementPresentCheckUsingJavaScriptExecutor: FAIL"); } } catch (NoSuchElementException e) { System.out.println("isElementPresentCheckUsingJavaScriptExecutor: FAIL"); } return false; }