c # Selenium IJavaScriptExecutor прокрутка вниз не работает - PullRequest
0 голосов
/ 22 октября 2018

У меня проблема, потому что мне нужно прокрутить страницу вниз, поэтому я решил использовать IJavaScriptExecutor

IJavaScriptExecutor js =  (IJavaScriptExecutor) driver;
js.executeScript("window.scrollBy(0,1000)"); 

Я также пытался

js.ExecuteScript("arguments[0].scrollIntoView();", invite); 

js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");

Но этоне работает.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Я отправил решение для этого в другой теме.

Вопрос : Как плавно прокручивать с помощью Selenium WebDriver и / или Sikuli в Java

Ответ : https://stackoverflow.com/a/51870388/6220192

0 голосов
/ 22 октября 2018

Прежде чем пытаться прокрутить страницу вниз, убедитесь, что DOM Tree полностью отрисовано.Здесь вы можете найти подробное обсуждение Как я могу убедиться, что некоторые элементы HTML загружены для Selenium + Python?

После завершения загрузки Page вы можете вызватьscroll() методы следующие:

  • Для прокрутки вниз на 250 пикселей:

    IJavaScriptExecutor js = (IJavaScriptExecutor) driver;
    js.ExecuteScript("window.scrollBy(0,250)", "");
    
  • Для прокрутки вниз по всей странице:

    IJavaScriptExecutor js = (IJavaScriptExecutor) driver;
    js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");
    
  • Для прокрутки элемента в поле зрения:

    IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementIsVisible(By.CssSelector("css_element")));
    IJavaScriptExecutor js = (IJavaScriptExecutor) driver;
    js.ExecuteScript("arguments[0].scrollIntoView(true);",element);
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...