2015-03-31 2 views
0

Я нахожусь внизу страницы, теперь я хочу прокрутить вверх до верхней части страницы напрямую (так как страница может быть очень длинной и прокручиваться вниз), нажав кнопку «Главная». Для этого я пытался что-то вроде этого, который Offcourse не работает -Selenium WebDriver - нажмите кнопку HOME

Actions builder = new Actions(driver); 
     builder.keyDown(Keys.HOME).build().perform(); 
+0

Вопрос не ясно для меня. Вы пытаетесь прокрутить до верхней части страницы? – LittlePanda

+0

@Manali - Thanx за помощью. Используя JSE, мы можем добиться этого, есть ли способ, которым мы можем нажать кнопку HOME с помощью селена? – br001

+0

Используйте класс робота для имитации события нажатия клавиш и keyrelease. См. Мой ответ. – LittlePanda

ответ

1

Вы можете использовать следующие функции:

void scrollToBottom(WebDriver driver) 
    { 
     ((JavascriptExecutor)driver).executeScript("window.scrollTo(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight));"); 
    } 

void scrollToTop(WebDriver driver) 
    { 
     ((JavascriptExecutor)driver).executeScript("window.scrollTo(0,0));"); 
    } 

void scrollToMiddle(WebDriver driver) 
    { 
     ((JavascriptExecutor)driver).executeScript("window.scrollTo(0,Math.max(document.documentElement.scrollHeight/2,document.body.scrollHeight,document.documentElement.clientHeight/2));"); 
    } 

И Scroll элемент в поле зрения:

WebElement element = driver.findElement(By.id("id_of_element")); 
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element); 

Нажмите ДОМОЙ Ключ:

Robot robot = new Robot(); 
robot.keyPress(KeyEvent.VK_HOME); 
robot.keyRelease(KeyEvent.VK_HOME); 
0

Вы можете легко Прокрутить вверх или Вниз с помощью JavascriptExecutor.

Перед использованием JavascriptExecutor импортируйте его в свой тестовый код, как показано ниже.

import org.openqa.selenium.JavascriptExecutor; 

Теперь создайте один экземпляр WebDriver интерфейс, как показано ниже, (Если предположить, что тест-браузер Firefox)

WebDriver driver = new FirefoxDriver(); 

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

JavascriptExecutor jse = (JavascriptExecutor)driver; 
jse.executeScript("scroll(0, 250)"); //y value '250' can be altered 

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

JavascriptExecutor jse = (JavascriptExecutor)driver; 
jse.executeScript("scroll(250, 0)"); //x value '250' can be altered 

Кроме того, для получения дополнительной информации о прокрутке, пожалуйста, нажмите here

Смежные вопросы