2015-12-20 7 views
6

Was ist der Unterschied zwischen isDisplayed() und isVisible() Methoden in Selen? Beide werden verwendet, um zu identifizieren, ob das Webelement in der Webseite versteckt ist oder nicht.isDisplayed() vs isible() in Selen

Antwort

2

Wie in diesem Beitrag erklärt How does Selenium WebDriver's isDisplayed() method work

WebDriver hat seine eigene W3C specification. und der Abschnitt über determining visibility können Sie mehr Informationen von der Spezifikation geben.

Selen RC - isVisible() - sucht nach display: none style tag - dies könnte einen Nullzeiger werfen, wenn wir nicht vorsichtig sind ... also um zu sehen, ob ein Element sichtbar ist, überprüfen Sie zuerst, ob das Element ist Präsentieren Sie mit IsElementPresent() -Methode. Dann prüfen Sie, ob das Element sichtbar ist! Siehe Difference between isElementPresent and isVisible in Selenium RC

+1

Du Vertauschen 'webdriver' und' Selen rc' –

+0

Danke @ErkiM. um mein Verständnis zu korrigieren. – parishodak

11

Kurze Antwort ist, dass isVisible ist Methode der alten Selenium RC und isDisplayed ist Methode von Selen 2.

Wenn Sie sprechen über WebDriversWebElement, es enthält nur isDisplayed() Methode, die von der doc:

Wird dieses Element angezeigt oder nicht? Diese Methode vermeidet das Problem von , das Attribut "style" eines Elements analysieren zu müssen.

Vor WebDriver wir Selenium RC hatte, die nun lange veraltet ist, hatte die DefaultSelenium Klasse isVisible() Methode, die:

Bestimmt, ob das angegebene Element sichtbar ist. Ein Element kann unsichtbar gemacht werden, indem die Eigenschaft CSS "visibility" auf "hidden" oder die Eigenschaft "display" auf "none" gesetzt wird, entweder für das Element selbst oder für eins seiner Vorfahren. Diese Methode schlägt fehl, wenn das Element nicht vorhanden ist.

reference