web-dev-qa-db-ja.com

Selenium 2(Selenium WebDriver)に存在または表示される要素を確認する方法

誰でも私にサンプルコードを送って要素を検証する方法を教えてくれます

  1. 存在する
  2. 見える
  3. isenable
  4. テキスト

javaを使用してSelenium WebDrvierで

32
TEJAS TRIVEDI

わかりやすいように、Java printステートメントを使用しました。

  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. Visibleを確認するには:

    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");
    }
    
65
Manigandan

あなたは次のようなものを試すことができます:

    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アサーションを使用しています。

9
DarthOpto

これがSelenium WebDriverのJavaコードです。次のメソッドを記述し、アサーション中に呼び出します。

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

以下のコードを使用してみてください:

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;
        }
    }
2
Mayur Shah
webDriver.findElement(By.xpath("//*[@id='element']")).isDisplayed();
0
Akongnwi Devert

要素が存在することを確認するには、次を実行できます。

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

それは配列を返します。その配列サイズが> 0の場合、要素が存在します。

また、言語や質問する前に試したことなど、より多くの情報を提供する必要があります。

幸運を

0