Я UI-тестирование веб-страницы с сеткой на ней, используя Selenium Webdriver в C#.Как прокрутить вниз раздел в Selenium (C#)?
В сетке есть своя полоса прокрутки, и я хотел бы прокрутить вниз до нижней части сетки, чтобы проверить, что определенный результат появился, когда я добавляю его через модальную форму (тест пользовательского интерфейса в настоящее время терпит неудачу, я вижу результат, пока не прокручу вниз).
Как настроить таргетинг на полосу прокрутки на сетке в отличие от обычной полосы прокрутки на главной веб-странице? Это HTML из полосы прокрутки моей сетки в:
<div class="ScrollbarLayout_face ScrollbarLayout_faceVertical public_Scrollbar_face" style="height: 367.38px; transform: translate3d(0px, 148.535px, 0px); backface-visibility: hidden;"></div>
Я думал об использовании ниже кода, но я не могу думать, как целевой элемент в нижней части сетки для прокрутки?
WebElement element = driver.findElement(By.id("my-id"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
actions.perform();
Вы должны попробовать яваскрипта функцию [ 'Element.scrollIntoView()'] (https: //developer.mozilla.org/en/docs/Web/API/Element/scrollIntoView), чтобы достичь этого элементарного элемента как драйвера ((IJavaScriptExecutor)) .ExecuteScript ("arguments [0] .scrollIntoView()", driver.FindElement (By.id («my-id»))); ' –
Это моя проблема - если бы я мог нацелить или найти элемент в первую очередь, мне не нужно было бы прокручивать вниз. Тест моего пользовательского интерфейса терпит неудачу, потому что элемент не может быть просмотрен, хотя он находится в нижней части сетки, просто скрылся из виду. – Marcus
Если вы хотите прокручивать, когда это необходимо, вы можете проверить свойство 'element.Displayed', чтобы определить прокрутку или нет. –