2015-10-20 6 views
5

QAとSeleniumで私の質問がプライマリに聞こえる場合は、事前に謝罪します。"ExpectedConditions.visibilityOfElementLocated"と "ExpectedConditions.presenceOfElementLocated"との正確な違い

wait.until(ExpectedConditions.visibilityOfElementLocated 
        (By.xpath("//a[text()='Show advanced settings...']"))).click(); 

wait.until(ExpectedConditions.presenceOfElementLocated 
        (By.xpath("//a[text()='Show advanced settings...']"))).click(); 

私はhereを見ていたが、それを理解しませんでした:間の正確な違いは何ですか

答えて

9

visibilityOfElmementLocatedは、要素が存在し、可視であるかどうかを確認します。可視性をチェックするには、要素の高さと幅が0より大きいかどうかを確認します。

presenceOfElementLocatedはdomをチェックして可視性に関係なく要素を見つけることができます。

出典: https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#visibilityOf-org.openqa.selenium.WebElement-

visibilityOfパブリック静的ExpectedCondition visibilityOf(WebElement素子) ページのDOMに存在することが知られている要素は、表示されていることを確認するための期待。 可視性は、要素があるだけでなく、表示されただけでなく、0より大きい パラメータである高さと幅を持っていることを意味します。要素が存在するが表示されていない場合

+0

ので、我々はそれをクリックすることはできませんが、それが表示されている場合と、私たちはそれを行うことができますか? – LoveLovelyJava

+0

正しい。 javascriptのクリックを使用しない限り。 –

+0

JavaScriptのクリックはどうですか?私はjavascriptでコードを書く必要がありますか? :( – LoveLovelyJava

関連する問題