У меня есть динамический список, содержащий разные номера.элементов, отображаемых на основе некоторого выбора.
Если в списке содержится более 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](https://i.stack.imgur.com/IXAVL.png)