My hai kịch bản -Kết hợp chờ đợi ngầm và chờ đợi rõ ràng cùng kết quả trong thời gian chờ đợi bất ngờ
1) Trước tiên
@driver.manage.timeouts.implicit_wait = 30
@wait = Selenium::WebDriver::Wait.new(:timeout => 45) # Time greater than implicit
@wait.until {@driver.find_element(:tag_name => "body").text.include?("hey")}
Mà cho tài xế 45 giây để tìm kiếm văn bản (dự kiến)
2) thứ hai
@driver.manage.timeouts.implicit_wait = 30
@wait = Selenium::WebDriver::Wait.new(:timeout => 5) # Time less than implicit
@wait.until {@driver.find_element(:tag_name => "body").text.include?("hey")}
này bây giờ mang đến cho người lái xe 30 giây để tìm kiếm văn bản (không được mong đợi)
Có cách nào để làm cho selen chỉ đợi cho thời gian chờ explicit
và không dành cho số lớn hơn trong hai không?
Lưu ý - Không khai báo thời gian chờ ngầm định không phải là một tùy chọn, vì tôi không thể để selen bị treo mỗi khi người lái xe không thể tìm thấy thứ gì đó.
Sử dụng phiên bản Selenium 30, cửa sổ, ff
'Cài đặt mặc định là 0' theo tài liệu chờ ngầm, vì vậy vấn đề chính xác ở đây là gì? – phoet
Tại sao không chỉ đặt chờ đợi ngầm đến 5? – BlackHatSamurai
Việc chờ đợi ngầm giúp tôi giữ một sự chờ đợi mặc định trên mỗi phần tử, vì vậy không muốn giữ nó ở mức thấp trong 5 giây. Tôi muốn sử dụng thời gian chờ đợi ngắn hơn (nói "wait_to_fail") để kiểm tra các yếu tố * không * hiện diện. – Amey