Как прокрутить вниз в определенном разделе веб-страницы в селене, используя javascript executor - PullRequest
0 голосов
/ 29 января 2020

Мне известно, что мы можем использовать приведенное ниже для прокрутки вниз на веб-странице.

(JavascriptExecutor) driver.executeScript("window.scrollBy(0,1000)");

Но у меня есть определенный раздел на веб-странице, на котором есть полоса прокрутки. Мне нужно go до последнего элемента в этом разделе. Проблема в том, что локатор последнего элемента не будет найден до тех пор, пока я не прокручиву полностью. Как мы справимся с этим?

Ответы [ 2 ]

1 голос
/ 29 января 2020

Вам нужно использовать scrollBy на WebElement, который вы хотите прокрутить

WebElement toScroll = driver.findElement(...)`
driver.executeScript("arguments[0].scrollBy(0, 1000)", toScroll);

Нет необходимости приводить к JavascriptExecutor, WebDriver уже расширяет этот класс.

0 голосов
/ 29 января 2020

Полная прокрутка вниз означает, что вам нужно прокрутить все окно просмотра * scrollHeight и для этого вы можете использовать следующую строку кода:

  • Java:

    ((JavascriptExecutor)driver).executeScript("window.scrollTo(0, document.body.scrollHeight);")
    
  • Python:

    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    
...