Vì vậy, chúng ta có đoạn mã sau vào trang của chúng tôi:Một con đường xung quanh phần tử không thể được cuộn vào xem - watir-webdriver với Ruby
<div class="toggle-wrapper">
<input id="HasRegistration_true" class="registration_required toggle" type="radio" value="True" name="HasRegistration" data-val-required="The HasRegistration field is required." data-val="true">
<label for="HasRegistration_true" class="">On</label>
<input id="HasRegistration_false" class="registration_required toggle" type="radio" value="False" name="HasRegistration" checked="checked">
<label class="checked" for="HasRegistration_false">Off</label>
</div>
Đây là 2 nút radio. 'Bật' và 'Tắt'. 'Tắt' là giá trị mặc định.
Sử dụng Watir-webdriver và Ruby, chúng tôi muốn chọn nút radio 'Bật'. Chúng tôi làm như vậy như thế này:
browser.radio(:id => "HasRegistration_true").set
Nhưng khi làm như vậy, chúng tôi nhận được lỗi sau:
`WebElement.clickElement': Element cannot be scrolled into view:[object HTMLInputElement] (Selenium::WebDriver::Error::MoveTargetOutOfBoundsError)
Chúng ta biết Selenium 2 cuộn trang để nguyên tố này, vì vậy cố gắng để di chuyển xuống là vô ích. Chúng tôi luôn sử dụng các phiên bản mới nhất của watir-webdriver và ruby.
Chúng tôi không thể thay đổi HTML của trang vì chúng tôi là kỹ sư của QA.
Tôi không thể tạo lại sự cố của bạn bằng cách sử dụng trang chỉ với html được cung cấp. Có nhiều trang được yêu cầu để tái tạo vấn đề của bạn không? Bạn đã thử trình duyệt nào (tức là nó xuất hiện trong tất cả các trình duyệt)? Bạn đề cập đến sử dụng đá quý watir-webdriver mới nhất, nhưng bạn cũng đảm bảo rằng selenium-webdriver được cập nhật? –
Bạn nói "Chúng tôi biết Selenium 2 cuộn trang đến phần tử ..." Bạn có thể giải thích về điều này không? Làm thế nào bạn biết điều này? Bạn thấy nó xảy ra? –
Có nhiều thứ Ajax xảy ra trên trang không? Các phần của trang được hiển thị sau khi trình duyệt được thực hiện 'tải' Vấn đề của bạn có thể xuất phát từ việc cố gắng tương tác với phần tử trước khi nó 'sẵn sàng' hoặc đã được chuyển sang vị trí cuối cùng trên trang, nói cách khác là vấn đề đồng bộ hóa. Bạn có thể thử các lệnh bằng tay thông qua IRB và xem chúng có hoạt động không, nếu có, đó thường là dấu hiệu của sự cố đồng bộ hóa –