Ho avuto un problema simile, con un elenco a discesa realizzato con Ajax.
Mentre l'utente digita in un campo, il sistema visualizza AJAX div
w con diverse opzioni, ognuno come collegamento con target='#'
E, peggio ancora, c'era una funzione chiamata sul onChange() che riempiva un flag di sistema, e quella bandiera sarebbe stato utilizzato come una verifica della form.submit() (oh, il dolore)
in ogni modo, la mia soluzione per questo:
1 - il selenio Sendkeys di comando in modo che il div Ajax apparirebbe
<tr>
<td>sendKeys</td>
<td>id=txtTipoDocumento</td>
<td>ipsum lorem</td>
</tr>
2 - attendere che il legame con l'opzione prevista per apparire
<tr>
<td>waitForElementPresent</td>
<td>link=ipsum lorem</td>
<td></td>
</tr>
3 - selenio clickAt il link
<tr>
<td>clickAt</td>
<td>link=ipsum lorem</td>
<td>10,20</td>
</tr>
4 - Ecco quello della le prese: spara manualmente il onChange() E sfocatura eventi. Inoltre, foce del browser per impostare il fuoco su diversa campo
<tr>
<td>fireEvent</td>
<td>id=txtTipoDocumento</td>
<td>blur</td>
</tr>
<tr>
<td>fireEvent</td>
<td>id=selSerie</td>
<td>change()</td>
</tr>
<tr>
<td>fireEvent</td>
<td>id=selSerie</td>
<td>blur</td>
</tr>
<tr>
<td>focus</td>
<td>id=imgDataElaboracao</td>
<td></td>
</tr>
5 - Infine, per essere sicuro, ho fatto selenio fare eseguire il comando ClickAt() sul pulsante Invia della forme, tra un mouseDown e MouseUp comandi
<tr>
<td>mouseDown</td>
<td>id=btnSalvar</td>
<td></td>
</tr>
<tr>
<td>focus</td>
<td>id=btnSalvar</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>id=btnSalvar</td>
<td>10,20</td>
</tr>
Non elegante, ma ha funzionato.
Sto usando IDE. Questo è quello che ho fatto. [#Esecuzione: | getEval | selenium.selectWindow (null) || ] Non funziona. Errore: selenium.selectWindow non è una funzione –
Normalmente lavoro solo con Selenium RC e non sono sicuro che sia possibile risolvere alcuni dei problemi con l'IDE. Dovresti aggiornare la tua domanda con queste informazioni – StefanE