"Elemento não está visível no momento e, portanto, não pode ser interagido com", mas outro é?

Eu criei outra pergunta que eu acho que é a causa desse erro:Por que o Selenium Firefox Driver considera meu modal não exibido quando o pai está cheio: oculto?

Selênio versão 2.33.0
Driver do Firefox

O código que causa o erro:

        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

O botão que está tentando clicar:

<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>
Se eu mudar a chamada paraFindElements então eu recebo um elemento, então não há mais nada na página.Se euFindElement em um campo que ocorre logo antes do botão, digamosaddEmployees-employee, entãoaddEmployees-employee édisplayedNo próprio navegador, ele aparece bem, tudo o que preciso fazer é clicar no botão e o comportamento desejado é executado, mas o webdriver se recusa a considerar o elemento exibido

Como é que um campo pode ser considerado exibido e o outro não?

O modal com o botão add no canto inferior direito, todos os outros elementos são exibidos = true

O tamanho da janela é de 1200x645 pordriver.Manage().Window.Size;
A localização do elemento é: 800x355y pordriver.FindElement(By.Id(buttonName)).Location
As dimensões do elemento são: 51x30 pordriver.FindElement(By.Id(buttonName)).Size
A localização do elemento da senha é: 552x233y pordriver.FindElement(By.Id("addEmployees-password")).Size

questionAnswers(5)

yourAnswerToTheQuestion