Belirli bir karenin yüklenmesini beklemek için webdriver destekli selenium'u kullandım. Bazı durumlarda, çerçeve yüklenmediğinden belirli bir kareye geçiş başarısız olur. kullandığım kod ben selenyum destekli webdriver ortadan kaldırmak ve sadeceBelirli bir karenin yüklenmesini nasıl beklerim? Selenium webdriver kullanıyorum 2.24
cevap
Bunu başarmak için Web Sürücü Beklet ve Beklenen Koşul sınıfını kullanabilirsiniz.
Bu kodu deneyin.
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frameName);
Yukarıdaki kod given frame up to 10 seconds
için bekleyecektir. Çerçeve mevcutsa, o zaman verilen çerçeveye geçer. Aksi halde, TimeoutException
atar.
Zaman sınırı, uygulamaya ve kullanıcı isteğine bağlıdır. Daha fazla bilgi için
Ben selenyum 2 kullanmaya geçiş olur webdriver API kullanmak planlıyorum gibi bir yöntem varsa bana bildirin ve lütfen
selenium.waitForFrameToLoad(frameJCLeft, strTimeOut);
driver.switchTo().defaultContent();
driver.switchTo().frame(frameJCLeft);
olduğunu "WebDriver destekli selenium 1.0 şeyler" yerine RemoteWebDriver kullanın. Sonra WebDriver.TargetLocator ile oynayacağım.
i benim yaptığım tam olarak ne ama, için her durumda sayesinde doğru beklenen bekleme durumu tespit cudnt "Ben selenyum destekli webdriver ortadan kaldırmak ve sadece webdriver API kullanmak planlıyorum" de belirtildiği gibi cevap arkadaşı. –
Sayfa başlığını veya başka bir beklenen nesnenin çerçevede görünmesini engelleyen ve bekleyen kendi onFrameLoad() yöntemini oluşturmayı denediniz mi? Böyle bir şeyle, yerel bir RemoteWebDriver'a geçtiğinizde yeniden kullanabilirsiniz. – djangofan
Teşekkür @Manigandan, çözümünüz iyi çalışıyor –
Lütfen bunu bir cevap olarak yapın. – Manigandan
Teşekkürler! Annen için cazibe gibi çalıştı! –