Прокрутка вида или элемента с помощью веб-драйвера - PullRequest
1 голос
/ 12 апреля 2019

У меня есть динамический список, содержащий разные номера.элементов, отображаемых на основе некоторого выбора.

Если в списке содержится более 7 элементов, при наведении в списке отображается полоса прокрутки.(Если элементов меньше, полоса прокрутки не будет.) Я обнаружил элемент полосы прокрутки на основе его имени класса, но попытка прокрутки с помощью веб-драйвера не удалась.Вот код:

//hover
Actions action = new Actions(driver);
WebElement placesList = driver.findElement(By.id("divPlaces"));
action.moveToElement(placesList).perform();

//scroll the list
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true)", element);

HTML код:

<div class="blk">
            <div class="smlhead">
                Places
            </div>

            <div id="divPlacesCont" class="sbarPrnt" style="height: 179.219px;">
            <div id="divPlaces" class="tilewrap sbarcont" style="height: 179px;">        

            <div class="blksmlr smlhead sngline">
                <a href="#" onclick="javascript:mcSearch.placeSelected(this, '12');">hyd</a>
            </div>
(removed 7 more items for simplicity...)

                <div class="sbar" style="display: block;">
                    <div class="sbarpos" style="height: 152.576px; top: 0px;"></div>
                </div>
             </div>
             </div>
</div>

Обновление: у меня есть мысль поделиться.Элемент списка всегда виден слева от страницы (и мне не нужно перемещать / прокручивать этот элемент, чтобы сделать его видимым, как actions.moveToElement ()).При наведении курсора появляется полоса прокрутки в этом списке, и я могу щелкнуть по ней и перетащить ее вниз, чтобы увидеть (последние) элементы.

С помощью приведенного выше кода она перемещает «рамку» вверх, т.е.Страна 'в списке ниже перемещается немного вверх, но последний скрытый элемент в динамике не виден.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...