2010-11-12 2 views
2

Я использую последнюю версию webdriver. Хотя я могу выбрать правильные ссылки, кажется, что на самом деле нажимают неверные ссылки.WebDriver, нажимая неправильные URL-адреса

Вот какой код использовать для Google. Это просто щелчок по результатам поиска Google.

@FindBy (id ="ires") 
    private WebElement searchResults; 

    public void clickResult(int i) { 
    initPage(); 
    List<WebElement> resultLinks = getSearchResultLinks(); 
    resultLinks.get(2).click();  
    } 

    private List<WebElement> getSearchResultLinks(){ 
    return searchResults.findElements(By.className("l")); 
    } 

ответ

2

Во-первых, у Вас есть ошибка в вашем clickResult, met6hod: вы должны пройти i к resultLinks.get:

public void clickResult(int i) { 
    initPage(); 
    List<WebElement> resultLinks = getSearchResultLinks(); 
    resultLinks.get(i).click();  
    } 

Другая возможная проблема может быть, что список возвращаемый getSearchResultLinks является нулем на основе массив, поэтому, чтобы получить первый результат поиска, вы должны позвонить clickResult(0) и так далее. Это может быть очевидно программисту, но у тестировщиков могут быть проблемы здесь :)

+0

Привет, я верю, что это вошло в игру во время тестирования. Однако это не проблема. Индексация также не является проблемой. Если я получаю доступ к атрибуту href, я получаю правильную ссылку. Однако, как только я нажимаю клик, он щелкнет где-то совсем другим –

+0

Если вы используете InternetExplorerDriver, есть некоторые проблемы, которые могут вызвать это: - если зум не 100%, могут возникнуть проблемы, чтобы щелкнуть элемент - если ссылка рядом с краями окна браузера могут возникнуть проблемы с нажатием на него - если текст ссылки слишком длинный или у него есть специальные символы, у него могут быть проблемы с нажатием на него Какой драйвер вы используете? вы пробовали Firefox один? –