Прокрутка вверх и вниз, чтобы прочитать страницу [дубликат]

Это невозможно сделать полностью из CDN. Правильно настраивать / переопределять с помощью SASS, вам необходимо @import необходимые файлы scstss Bootstrap в вашем custom.scss. Чтобы переопределить контрольные точки сетки, вам, как минимум, нужны functions и variables. Затем установите переменные по мере необходимости и, наконец, @import bootstrap. Обратите внимание, как по умолчанию! был удален как , объясненный в docs как правильный метод настройки.

/* import what we need to override */
@import "bootstrap/functions";
@import "bootstrap/variables";

/* set the overriding variables */
$grid-breakpoints: (
  xxxs: 0,
  xxs: 320px,
  xs: 568px,
  sm: 667px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1440px,
  xxxl: 1600px
)
$container-max-widths: (
  xxxs: 0,
  xxs: 320px,
  xs: 568px,
  sm: 667px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1440px,
  xxxl: 1600px
);

/* override the !default vars with the values we set above */
@import "bootstrap";

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

https://www.codeply.com / go / BIgmm1XGc2

Также см .: Как продлить / изменить (настроить) Bootstrap 4 с помощью SASS Twitter Bootstrap: добавить медиа-запросы для точки xxs breakpoint

47
задан Ripon Al Wasim 21 May 2014 в 06:54
поделиться

10 ответов

Попробуйте

        Actions dragger = new Actions(driver);
        WebElement draggablePartOfScrollbar = driver.findElement(By.xpath("//*[@id='jobreslist_outercontainer']/div/div[2]/div"));

        // drag downwards
        int numberOfPixelsToDragTheScrollbarDown = 50;
        for (int i=10;i<500;i=i+numberOfPixelsToDragTheScrollbarDown){
            try{
        // this causes a gradual drag of the scroll bar, 10 units at a time
        dragger.moveToElement(draggablePartOfScrollbar).clickAndHold().moveByOffset(0,numberOfPixelsToDragTheScrollbarDown).release().perform();
        Thread.sleep(1000L);
            }catch(Exception e1){}
        } 

        // now drag opposite way (downwards)
        numberOfPixelsToDragTheScrollbarDown = -50;
        for (int i=500;i>10;i=i+numberOfPixelsToDragTheScrollbarDown){
        // this causes a gradual drag of the scroll bar, -10 units at a time
        dragger.moveToElement(draggablePartOfScrollbar).clickAndHold().moveByOffset(0,numberOfPixelsToDragTheScrollbarDown).release().perform();
        Thread.sleep(1000L);
        }
0
ответ дан David 5 September 2018 в 07:03
поделиться

Вы должны добавить прокрутку на страницу, чтобы выбрать все элементы, используя Selenium.executeScript("window.scrollBy(0,450)", "").

Если у вас большой список, добавьте прокрутку несколько раз к выполнению. Обратите внимание, что прокрутка переместится только к определенной точке на странице (0,450).

0
ответ дан edwinksl 5 September 2018 в 07:03
поделиться

Спасибо за ответ Рипона Аль Васима. Я сделал некоторое улучшение. из-за сетевых проблем, я повторяю три раза до цикла прерывания.

driver.get(url)
# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")
try_times = 0
while True:
    # Scroll down to bottom
    driver.execute_script("window.scrollBy(0,2000)")

    # Wait to load page
    time.sleep(scroll_delay)
    # Calculate new scroll height and compare with last scroll height
    new_height = driver.execute_script("return document.body.scrollHeight")

    if last_height == new_height:
        try_times += 1

    if try_times > 3:
        try_times = 0
        break
    last_height = new_height
0
ответ дан Ivan 5 September 2018 в 07:03
поделиться

Существует много способов прокрутки вверх и вниз в Selenium Webdriver. Я всегда использую Java Script для того, чтобы сделать то же самое.

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

 // This  will scroll page 400 pixel vertical
  ((JavascriptExecutor)driver).executeScript("scroll(0,400)");

Вы можете получить полный код отсюда Страница прокрутки в Selenium

Если вы хотите прокрутить элемент, то ниже фрагмент кода будет работать для вы.

je.executeScript("arguments[0].scrollIntoView(true);",element);

Вы получите полный документ здесь Прокрутите для определенного элемента

9
ответ дан josliber 5 September 2018 в 07:03
поделиться

Я не хотел использовать JavaScript или любые внешние библиотеки, поэтому это было мое решение (C #):

IWebElement body = Driver.FindElement(By.TagName("body"));

IAction scrollDown = new Actions(Driver)
    .MoveToElement(body, body.Size.Width - 10, 15) // position mouse over scrollbar
    .ClickAndHold()
    .MoveByOffset(0, 50) // scroll down
    .Release()
    .Build();

scrollDown.Perform();

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

1
ответ дан KthProg 5 September 2018 в 07:03
поделиться
JavascriptExecutor jse = ((JavascriptExecutor) driver);
jse.executeScript("window.scrollTo(0, document.body.scrollHeight)");

Этот код работает для меня. Как страница, которую я тестирую, загружается при прокрутке вниз.

0
ответ дан Latha 5 September 2018 в 07:03
поделиться

Прокрутка до нижней части страницы:

JavascriptExecutor js = ((JavascriptExecutor) driver);
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
31
ответ дан Ripon Al Wasim 5 September 2018 в 07:03
поделиться

Это не может быть точным ответом на ваш вопрос (с точки зрения WebDriver), но я обнаружил, что библиотека java.awt более стабильна, чем selenium.Keys. Таким образом, действие вниз страницы с использованием первого будет:

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_PAGE_DOWN);
robot.keyRelease(KeyEvent.VK_PAGE_DOWN);
8
ответ дан rs79 5 September 2018 в 07:03
поделиться

Исполнитель Javascript всегда отлично выполняет работу:

((JavascriptExecutor) driver).executeScript("scroll(0,300)");

, где (0,300) - горизонтальное и вертикальное расстояния соответственно. Положите свои расстояния в соответствии с вашими требованиями.

Если вы перфекционист и хотите получить точное расстояние, которое вам нравится прокручивать до первой попытки, используйте этот инструмент, MeasureIt . Это блестящее дополнение к Firefox.

0
ответ дан user 5 September 2018 в 07:03
поделиться
JavascriptExecutor js = ((JavascriptExecutor) driver);

Прокрутка вниз:

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

Прокрутка вверх:

js.executeScript("window.scrollTo(0, -document.body.scrollHeight);");
2
ответ дан user1438038 5 September 2018 в 07:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: