Tôi đang sử dụng Selenium 2.20 WebDriver để tạo và quản lý trình duyệt firefox với C#. Để truy cập vào một trang, tôi sử dụng đoạn mã sau, thiết lập timeout tài xế trước khi quý khách đến thăm URL:Selenium WebDriver - Cách đặt Thời gian chờ tải trang bằng C#
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5)); // Set implicit wait timeouts to 5 secs
driver.Manage().Timeouts().SetScriptTimeout(new TimeSpan(0, 0, 0, 5)); // Set script timeouts to 5 secs
driver.Navigate().GoToUrl(myUrl); // Goto page url
Vấn đề là đôi khi trang load quá chậm, và có vẻ như thời gian chờ mặc định cho một trang để tải sử dụng selenium WebDriver là 30 giây, quá dài. Và tôi không tin rằng thời gian chờ tôi đang thiết lập áp dụng cho việc tải một trang bằng cách sử dụng phương thức GoToUrl().
Vì vậy, tôi đang cố gắng tìm ra cách đặt thời gian chờ để tải trang, tuy nhiên, tôi không thể tìm thấy bất kỳ thuộc tính hoặc phương pháp nào thực sự hoạt động. Thời gian chờ 30 giây mặc định cũng có vẻ áp dụng khi tôi nhấp vào một phần tử.
Có cách nào để đặt thời gian chờ tải trang thành một giá trị cụ thể để khi tôi gọi phương thức GoToUrl(), nó sẽ chỉ chờ thời gian đã chỉ định của tôi trước khi tiếp tục?
Bạn có chắc 'GoToUrl()' đang đợi trang tải không? Kinh nghiệm của tôi là nó không. Nhưng đó chỉ là một cảm giác, không phải là một thực tế. –
có, tôi chắc chắn 100% gọi GoToUrl() chặn thực thi cho đến khi trang hoàn tất tải và tôi đã đo thời gian chờ mặc định là 30 giây để gọi phương thức này, sau 30 giây thực thi sẽ tiếp tục và tôi đang thử để giảm thời gian chờ mặc định là 30 giây bằng cách nào đó. – KabanaSoft
tôi đã đăng câu hỏi tương tự: http://stackoverflow.com/questions/11958701/what-is-the-best-approach-for-timeout-using-selenium-using-webdriver –