„Element nie jest obecnie widoczny, więc nie można z nim wchodzić w interakcje”, ale inny jest?

Stworzyłem kolejne pytanie, które wydaje mi się przyczyną tego błędu:Dlaczego sterownik Selenium Firefox uważa, że ​​mój modal nie jest wyświetlany, gdy rodzic ma przepełnienie: ukryty?

Selenium wersja 2.33.0
Sterownik Firefox

Kod powodujący błąd:

        System.Threading.Thread.Sleep(5000);
        var dimentions = driver.Manage().Window.Size;
        var field = driver.FindElement(By.Id("addEmployees-password")); //displayed is true
        field.Click(); //works fine
        var element = driver.FindElement(By.Id(buttonName)); //displayed is false
        element.Click(); //errors out

Przycisk, który próbuje kliknąć:

<div id="addEmployees" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="addEmployeesLabel" aria-hidden="true">

    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3>Add Employee</h3>
    </div>

    <div class="modal-body">
        <p class="alert alert-info">
            <input name="addEmployees-username" id="addEmployees-username" />
            <input name="addEmployees-password" id="addEmployees-password" type="password" />
            <input name="addEmployees-employee" id="addEmployees-employee" />
        </p>
    </div>

    <div class="modal-footer">
        <button name="addEmployees-add" id="addEmployees-add" type="button" class="btn" data-ng-click="submit()">Add</button>
    </div>

</div>
Jeśli zmienię połączenie naFindElements wtedy dostaję JEDEN element, więc na stronie nie ma niczego innego.Jeśli jaFindElement powiedzmy na polu, które występuje tuż przed przyciskiemaddEmployees-employee, następnieaddEmployees-employee jestdisplayedW samej przeglądarce wyświetla się dobrze, wystarczy kliknąć przycisk, a pożądane zachowanie zostanie wykonane, ale webdriver odmawia uwzględnienia wyświetlanego elementu

Jak to możliwe, że jedno pole można uznać za wyświetlone, a drugie nie?

Modal z przyciskiem dodawania w prawym dolnym rogu, wszystkie pozostałe elementy są wyświetlane = prawda

Rozmiar okna wynosi 1200x645 nadriver.Manage().Window.Size;
Lokalizacja elementu wynosi: 800x355y nadriver.FindElement(By.Id(buttonName)).Location
Wymiary elementów to: 51x30 nadriver.FindElement(By.Id(buttonName)).Size
Lokalizacja elementu hasła: 552x233y nadriver.FindElement(By.Id("addEmployees-password")).Size

questionAnswers(5)

yourAnswerToTheQuestion