Tôi đang dịch một số kiểm tra Selenium RC sang Selenium WebDriver bằng cách sử dụng api python. Trong Selenium WebDriver, tôi nhận thấy rằng driver.get('http://...')
dường như phải chờ toàn bộ trang tải trước khi tiếp tục. Có cách nào để không đợi trang tải không? Một số trang tôi yêu cầu có nhiều tài nguyên bên ngoài có khả năng mất nhiều thời gian tải. Tôi muốn chờ đợi cho các yếu tố trên DOM để có mặt hơn là chờ đợi cho tất cả mọi thứ để tải. Một số thử nghiệm của tôi dường như mất gấp đôi thời gian trong WebDriver vì điều này.Selenium WebDriver chuyển đến trang mà không cần chờ tải trang
Trả lời
Có và không. Kể từ Selenium 2.24.1, the support for this is only in Firefox - you have to run it in a special "mode":
FirefoxProfile fp = new FirefoxProfile();
fp.setPreference("webdriver.load.strategy", "unstable");
WebDriver driver = new FirefoxDriver(fp);
Bạn thậm chí có thể đặt the timeout if you want to. Phương pháp này không thành công trong bất kỳ trình duyệt nào khác ngoài Firefox và không làm gì trong Firefox mà không có chiến lược không ổn định:
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
Cảm ơn. Đã trả lời câu hỏi của tôi hoàn toàn. – Jackson
Ngoài ra, khi bỏ phiếu cho các đối tượng trên trang dự kiến của bạn, nếu bạn sử dụng findElements() thay vì findElement(), bạn có thể tránh con trỏ null bằng cách sử dụng một cái gì đó như 'if findElements() = 0 tiếp tục cố gắng'. – djangofan
Mã tương đương Python cho thời gian chờ tải trang là gì? –
- 1. selenium-webdriver và đợi trang tải
- 2. Thiết lập thời gian chờ thực để tải trang trong Selenium WebDriver?
- 3. Selenium WebDriver - Cách đặt Thời gian chờ tải trang bằng C#
- 4. WebRat + Selenium WebDriver: chờ ajax hoàn thành
- 5. Tải trang web bên ngoài vào trang của tôi mà không cần chuyển hướng đến URL khác
- 6. Cách đợi chuyển hướng trang trong Selenium?
- 7. Selenium tải xuống trang đầy đủ html
- 8. jQuery Ajax: chuyển hướng đến các trang khác mà không cần đợi kết quả
- 9. tải trang web appengine mà không cần www
- 10. Di chuyển đến khi trang tải
- 11. Selenium WebDriver: Đợi trang phức tạp có JavaScript (JS) để tải
- 12. Mẫu đối tượng trang trong Selenium WebDriver là gì?
- 13. Cập nhật hình ảnh mà không cần tải lại trang
- 14. URL thay đổi Backbone.js mà không cần tải lại trang
- 15. Dấu trang chờ cho đến khi Javascript được tải
- 16. cách cập nhật trang Django mà không cần tải lại trang?
- 17. Sử dụng LoadControl mà không cần Trang
- 18. Selenium WebDriver: Cách đợi iFrames tải hoàn toàn?
- 19. HTML - Thay đổi \ Cập nhật nội dung trang mà không cần refresh \ tải lại trang
- 20. Watir-Webdriver Chờ tải xuống để hoàn thành
- 21. Hạn chế Selenium/Webdriver/HtmlUnit đến một miền nhất định
- 22. selenium webdriver chọn phần tử
- 23. Làm cách nào để tải lại div mà không cần tải lại toàn bộ trang?
- 24. GitHub thay đổi URL như thế nào mà không cần tải lại trang?
- 25. Làm cách nào để làm mới trang trên trình duyệt bằng selenium-webdriver?
- 26. Di chuyển động đến ID khi tải trang
- 27. Python Selenium WebDriver cách thêm thời gian chờ để nhận hàm (url)
- 28. Selenium WebDriver Click() không thành công với IE9
- 29. Cách cuộn trang bằng selenium
- 30. Cập nhật URL của trình duyệt mà không cần tải lại trang
@Slanec Cả hai đều tuyệt vời. Tìm kiếm gian khổ của tôi đã đi đến một kết luận hạnh phúc. –