2017-07-21 6 views
0

現在、私はあなたがこの構文でのXPathのウェブ要素を検索することができます知っている:Selenium WebDriverでテキストベースのxPath検索に変数を適用できますか?

driver.findElement(By.xpath("//*[text()='text to be found']")); 

は、私は、変数の文字列から要素を検索することができますとにかくありますか?私はこのようなメソッドを作ることができるようにしたいと思います:

public boolean nameExists(String name) { 
    if (driver.findElement(By.xpath("//*[text()= name ]"))) 
     return true; 
    else 
     return false; 
} 
+0

あなたは何をgoogledしましたか? – JeffC

答えて

2

あなたはこのような何かを行うことができます:

public boolean nameExists(String name) { 
    return driver.findElements(By.xpath("//*[text()='" + name + "']")).size() != 0; 
} 

findElementWebElementないboolean返すことに注意してください。また、指定された要素が存在しない場合、SeleniumはNoSuchElementExceptionをスローします。

代わりに、我々はあなたのXPathから与えられたString nameを持つすべてのWebElement Sを見つけるために、findElementsを利用することができます。返されたList<WebElement>に値(.size() != 0)が含まれている場合、これは少なくとも1つのWebElementと指定されたnameが存在することを意味します。

関連する問題