Ben C#,
Selenium kullanarak bir Web uygulaması otomatikleştirmek çalışıyorum Ben ana sayfasında, başka bir sayfaya götüren bağlantıyı tıklıyorum. sonra ben
string parent = webDriver.CurrentWindowHandle; while (webDriver.WindowHandles.Count <= 1) ; // wait for new tab foreach (string handle in webDriver.WindowHandles) { if (handle != parent) { webDriver.SwitchTo().Window(handle); break; } }
bu yeni sayfa, yalnızca iki bağlantılar (kullanıcı rolünü seçmek için)
ikinci linke tıkladıktan sonra bir JavaScipt ve yeni verilerle Tüm sayfa değişiklikleri yüklendiği olan aşağıdaki kodu kullanarak bu yeni sayfaya geçmek aynı sayfa
Ancak, Sayfa değiştikten sonra, webdriver aynı sayfayı döndürürSource (sayfanın 2 bağlantısı vardı)
değiştirilen sayfanın başlığı doğru olarak tarayıcıda verilmiştir
Bu belgeyi okudum webdriver her zaman en son sayfa döndürürSource
bunu kabul ederek, yalnızca yanlıştır ve sürücü ha i
bekliyorum chnaged sayfasını ndling Yani webDriver.FindElements(By.XPath(//a);
kullanarak küçük bir test yaptım ama değişen sayfadan etiketlerini vermedi, onun yerine iki seçim bağlantıları vardı sayfasından etiketleri verdi.
neden sürücü en son etiketleri vermiyor?
Bu konuda takılıyorum ve gerçekten herhangi bir yardım için takdir edeceğim ..
şimdiden teşekkürler!IE Webdriver pageSource sayfadaki chnage sonra ferahlatıcı değil nedeniyle nedeniyle
0
A
cevap
0
ben sayfa tam sayfa kaynağını almadan önce yüklenmiş olduğunu belirten bir öğesi bekleyeceğini:
WebDriverWait wait = new WebDriverWait(driver, 20);
// switch to the next window
String main_handle = driver.getWindowHandle();
wait.until((WebDriver drv) -> {
for (String handle : drv.getWindowHandles()) {
if (handle != main_handle) {
drv.switchTo().window(handle);
return true;
}
}
return false;
});
// wait for an element which presence indicates that the page is loaded
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("...")));
// get the page source
String page_source = driver.getPageSource();
İlgili konular
- 1. Listview yeni öğe ekledikten sonra ferahlatıcı değil
- 2. Özel KeyBoard nedeniyle
- 3. Yetersiz CPU nedeniyle CPU
- 4. DontDestroyOnLoad() nedeniyle çoğaltmalar()
- 5. Nedeniyle: java.security.UnrecoverableKeyException: Anahtar Kurtarılamıyor
- 6. AnkhSVN, Proxy nedeniyle Bağlanamıyor
- 7. nedeniyle hızla ileri
- 8. Sbt zaman dolu nedeniyle
- 9. rowSums - dizi nedeniyle hata
- 10. Regex Instr nedeniyle eşleşmeleri reddetme
- 11. Sertifika sorunları nedeniyle besteci yükleyemiyorum
- 12. nedeniyle bu fonksiyon beyanı bulunur
- 13. .htaccess nedeniyle hata alma 500
- 14. İşlem, nesnenin mevcut durumu nedeniyle geçerli değil. C#
- 15. ASP Hatası: Nesnenin geçerli durumu nedeniyle işlem geçerli değil
- 16. SQL dizesi nedeniyle çoğaltma değerleri?
- 17. Kaydırma çubuğu nedeniyle geçişin engellenmesi
- 18. iPhone Uygulaması, UIRequiredDeviceCapabilities nedeniyle reddedildi
- 19. "Eksik ayırıcı" nedeniyle dosya oluşturulamıyor
- 20. Durum çubuğu nedeniyle genişletme görünmüyor
- 21. ReadVirtual nedeniyle yığın dökümü oluşturulamadı
- 22. Scipy.optimize nedeniyle eksik açılamayabilir. Dylib
- 23. Jsoup Gecikme nedeniyle web sitesi
- 24. Uzun RDD Lineage nedeniyle Stackoverflow
- 25. Git geri dönüşü "silindi" nedeniyle "silindi"
- 26. TeamCity'de beklenmeyen bitiş nedeniyle yapıyı yeniden eklemeyin
- 27. Ascii dönüşümü nedeniyle gnupg anahtarlarını içe aktaramıyorum?
- 28. Komut sinyali nedeniyle başarısız oldu: Segment ayırma hatası: 11 TableViewController nedeniyle? Benim içinde
- 29. Eclipse Çalışma Alanı Hatalı kapanma nedeniyle bozulmuştur
- 30. .isproj proje türü nedeniyle açılamıyor (.isproj) desteklenmiyor