Подтвердить что ты не робот

Как проверить присутствующий или видимый элемент в селене 2 (Selenium WebDriver)

Любой может отправить мне пример кода, как проверить элемент

  • ispresent
  • IsVisible
  • isenable
  • textpresent

в Selenium WebDrvier с использованием Java

4b9b3361

Ответ 1

Я использовал операторы печати java для легкого понимания.

  • Чтобы проверить присутствующий элемент:

    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");
    }
    
  • Чтобы проверить Visible:

    if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
    System.out.println("Element is Visible");
    }else{
    System.out.println("Element is InVisible");
    }
    
  • Чтобы проверить Включить:

    if( driver.findElement(By.cssSelector("a > font")).isEnabled()){
    System.out.println("Element is Enable");
    }else{
    System.out.println("Element is Disabled");
    }
    
  • Чтобы проверить представленный текст

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

Ответ 2

Вы можете попробовать что-то вроде:

    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 Assertions.

Ответ 3

Вот мой код Java для Selenium WebDriver. Напишите следующий метод и вызовите его во время утверждения:

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

Ответ 4

Попробуйте использовать нижеприведенный код:

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;
        }
    }

Ответ 6

Чтобы убедиться, что элемент присутствует, вы можете сделать следующее:

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

Это вернет массив, если этот размер массива равен > 0, тогда присутствует элемент /s.

Кроме того, вам нужно предоставить дополнительную информацию, такую ​​как язык и то, что вы пробовали, прежде чем спрашивать,

Удачи.

Ответ 7

webDriver.findElement(By.xpath( "//* [@ид = 'элемент']")) isDisplayed().

Ответ 8

Чтобы проверить, является ли элемент видимым, нам нужно использовать 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;
    }