2016-07-07 1 views
1

Я пытаюсь сделать образец программы с помощью selenium webdriver. Я использую библиотеки Selenium-java-2.53.1.Программа выборки селена: Получение ошибки org.openqa.selenium.WebDriverException: ожидаемое выражение, начало конца скрипта

Вот мой пример программы

import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.testng.annotations.BeforeClass; 
import org.testng.annotations.AfterClass; 
import org.testng.annotations.Test; 

public class ScrollWebPage { 

    WebDriver driver; 
    String URL="https://www.gmail.com"; 

    @BeforeClass 
    public void setUp(){ 
     driver = new FirefoxDriver(); 
     driver.get(URL); 
     driver.manage().window().maximize(); 
    } 

    @Test(priority=1) 
    public void scrollingToBottom(){ 
     ((JavascriptExecutor) driver).executeScript(URL, "window.scrollTo(0,document.body.scrollHeight)"); 
    } 

    @AfterClass 
    public void tearDown(){ 
     driver.quit(); 
    } 
} 

становится открыта страница, но она не в состоянии прокрутить вниз. кажется, проблема с executeScript()

Пожалуйста, помогите

ответ

1

.executeScript() ожидая JavaScript строковое выражение как первые аргументы в то время как вы обеспечиваете просто строку, как Url, который не является JavaScript выражения, как exception говорит, Вам нужно изменить: -

((JavascriptExecutor) driver).executeScript(URL, "window.scrollTo(0,document.body.scrollHeight)"); 

в

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

Примечание: - .executeScript() ожидают аргументы типа String arg0, Object... arg1, что означает первые аргументы должны быть String, но это должно быть JavaScript выражением и вторые аргументы должны быть Array of Object как Object[]

В вашем случае нет необходимости обеспечить URL в качестве аргументов, если вы просто хотите, чтобы выполнить функцию прокрутки.

Надеется, что это поможет вам .. :)

+0

Спасибо. Я удалил URL, и он сработал. Спасибо, что заставило меня понять, что это значит. –

0

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

((JavascriptExecutor)driver).executeScript("window.scrollBy(0,2500)"); 
Смежные вопросы