Решения работа вокруг. Для этого нет точной функции. Прежде всего, давайте соберите требования: Страница прокрутки (с диапазоном от- [текущее расположение страницы, страница Конец]), пока не появится элемент.
Для прокрутки можно потребительных
driver.swipe(startx, starty, startx, endy, 1000);
Для нахождения видимости элемента, мы можем использовать код как-
try {
dr.findElement(By.xpath(xpath); // find element with whatever Selector, I am using xpath
if (dr.findElementsByXPath(xpath).size()>0 && dr.findElement(By.xpath(xpath)).isDisplayed()){
System.out.println("Element found by xpath : " + xpath);
return true;
} else
return false;
} catch (NoSuchElementException e1) {
System.out.println("Object not found");
return false;
} catch (Exception e2) {
System.out.println("Unhandled Exception found");
e2.printStackTrace();
throw e2;
}
Теперь мы должны поставить условие, что скроллинг следует прекратить, если последний элемент видимый. Для этого мы можем изменить XPath текущего элемента и проверьте видимость найденного элемента этой XPath, как-
String xpath_last = elementxpath.concat("/../*[last()]"); // if we are scrolling downwards then [last()]. But if we are scrolling up then make it [1]
Это завершает свое состояние. Думаю, это надо делать!