вторник, 4 ноября 2014 г.

Как снять скриншот с элемента, который находится за областью видимости окна, не совершая с ним действий

Если необходимо совершить какое-то действие с веб-элементом на странице, Selenium скроллирует страницу автоматически таким образом, что элемент становится видимым. Если же нужно, например, снять скиншот не выполняя никаких действий, то можно воспользоваться следующим методом:

((Locatable) webElement).getCoordinates().inViewPort();

или

webDriver.executeScript("arguments[0].scrollIntoView(true);", webElement);

Это может помочь в случаях, когда нужно сделать скиншот не всего содержимого страницы, а лишь видимой части.

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

Actions actions = new Actions(webDriver);
actions.moveToElement(webElement).perform();

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






Комментариев нет:

Отправить комментарий