Tôi gặp sự cố tương tự với danh sách thả xuống được tạo bằng Ajax.
Khi người dùng trong một lĩnh vực, hệ thống sẽ hiển thị AJAX div
w với một vài lựa chọn, mỗi người như một liên kết với target='#'
Và thậm chí tệ hơn, đã có một chức năng kêu gọi onChange() đó điền một hệ thống cờ, và lá cờ đó sẽ được sử dụng như một xác nhận trên form.submit() (oh, sự đau đớn)
Anyways, giải pháp của tôi cho điều này:
1 - Selenium SendKeys lệnh nên div Ajax sẽ xuất hiện
<tr>
<td>sendKeys</td>
<td>id=txtTipoDocumento</td>
<td>ipsum lorem</td>
</tr>
2 - chờ đợi cho liên kết với các tùy chọn dự kiến xuất hiện
<tr>
<td>waitForElementPresent</td>
<td>link=ipsum lorem</td>
<td></td>
</tr>
3 - selen clickAt vào liên kết
<tr>
<td>clickAt</td>
<td>link=ipsum lorem</td>
<td>10,20</td>
</tr>
4 - Đây là một trong những các sản phẩm khai thác: bắn theo cách thủ công onChange() AND mờ sự kiện. Ngoài ra, Foce trình duyệt để thiết lập tập trung vào khác nhau lĩnh vực
<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 - Cuối cùng, để chắc chắn, tôi đã thực hiện Selenium làm thực hiện ClickAt() lệnh vào nút Submit của forme, giữa một mouseDown và MouseUp lệnh
<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>
Không tao nhã, nhưng nó làm việc.
Tôi đang sử dụng IDE. Đây là những gì tôi đã làm. [#Executing: | getEval | selenium.selectWindow (null) || ] Không hoạt động. Lỗi: selenium.selectWindow không phải là chức năng –
Tôi thường chỉ làm việc với Selenium RC và tôi không chắc chắn nó thậm chí có thể giải quyết một số vấn đề với IDE .. Bạn nên cập nhật câu hỏi của bạn với thông tin đó – StefanE