Java ile selenyum kullanıyorum, "Başa dön" düğmesini test etmem gerekiyor, böylece yaptığım şey "Başa dön" düğmesi görünene kadar sayfayı kaydırmaktır. sayfanın% 25'i kaydırıldığında gösterilir ve bu tuşa tıklarsanız, bu düğme kullanıcıyı sayfanın en üstüne götürür, şimdi çalışıp çalışmadığını ve görünen bölümün sayfanın üst kısmı olduğunu kontrol etmem gerekiyor. Bunu java kullanarak nasıl yapabilirim?Selenium, kaydırma konumunu nasıl kontrol edersiniz
cevap
Genel ilke, tarayıcıda window.pageYOffset
değerini kontrol etmektir. Daha sonra value
0. executeScript
çalıştırmak için kullanılır olup olmadığını kontrol edebilirsiniz
JavascriptExecutor executor = (JavascriptExecutor) driver;
Long value = (Long) executor.executeScript("return window.pageYOffset;");
: Sonra window.pageYOffset
varsayarsak 0 değeri olmalıdır başa dön tamamen düğme kaydırır Eğer driver
değişkeni WebDriver
örneğini tutan Tarayıcıda JavaScript kodu.
Bu yanıt başlangıçta scrollY
'dan bahseder, ancak IE'de destek yoktur. MDN page on it diyor:
,
window.pageYOffset
yerinewindow.scrollY
kullanın. Ayrıca, Internet Explorer'ın eski sürümleri (< 9), ya özelliği desteklemez ve diğer standart dışı özellikleri de kontrol ederek çalışılmalıdır. Bir tam uyumlu örnek: "Söylediğin" için R. Oosterholt içinvar supportPageOffset = window.pageXOffset !== undefined; var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); var x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft; var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
teşekkürler.
Internet Explorer pencereyi desteklemediğinden Louis'in yanıtı çalışır, ancak tam olarak tarayıcılar arası uyumlu değildir. Window.pageYOffset'i kullanmamanızı öneririm - bu, aynı değeri döndürür, ancak çapraz tarayıcı uyumludur.
Kaynak:
AyrıcaJavascriptExecutor executor = (JavascriptExecutor) driver;
Long value = (Long) executor.executeScript("return window.pageYOffset;");
, Ruby (benim şimdiki pozisyon için kullandığınız kadar sözdizimi, daha önce olduğu gibi varsayarak o sürücü örneği: Burada
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY modifiye koduyla Yukarıdaki kod bloğudur değişken adı olan 'sürücü' üzerinden erişilebilir:
driver.execute_script('return window.pageYOffset;')