2014-01-09 2 views
0
package testproject; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 


public class WeblinkTest { 

    public static void main(String[] args) throws InterruptedException { 
    // Creating a fierfox driver/window 
    WebDriver driver= new FirefoxDriver(); 
    //Assigning address of the webpage which you want to check 
    driver.get("https://www.google.co.in/"); 
    Thread.sleep(2000); 
    //Creating and Identifing--By.xpath the element on which you want testing 
    WebElement wb1= driver.findElement(By.xpath(".//*[@id='gb']/div[1]/div[1]/div[1]/div[2]")); 
    wb1.click(); 
    Thread.sleep(2000); 
    } 

} 

Сегодня я пытался проверить ссылку gmail, которая доступна на главной странице Google (www.google.co.in). Я могу запустить окно fierfox, а также сделать первый шаг, который ведет меня на главную страницу Google, но после этого ничего не происходит, и я не получаю никакой ошибки времени выполнения или исключения из eclipse. Не знаю, что происходит с webdriver. Я столкнулся с проблемой с еще одной программой, которую я уже разместил на stakwave, поэтому, если вы можете, пожалуйста, взгляните на эту ссылку. Why my test is throwing Exception-Unable to locate element in webdriver?webdriver не может нажимать на гиперссылку в firefox

+0

Вы подтвердили, что 'WebElement', который вы получаете от Fearfox, по-прежнему является правильным? Веб-страницы имеют тенденцию меняться в течение ночи. – zapl

+0

@zapl ya я проверил его с помощью firebug и selenium, то есть (оба Firefox Firefox) –

ответ

0

Я поставил этот вопрос в январе, говоря, что веб-драйвер не смог нажать на гиперссылку, и только сейчас я получил решение. На самом деле xpath для гиперссылки не был точным. Я использовал этот xpath- .//*[@id='gb']/div[1]/div[1]/div[1]/div[2] который размещал логотип, но не кнопку ,

Сегодня я изменил его .//*[@id='gb']/div[1]/div[1]/div[1]/div[2]/a и теперь его работы абсолютно хорошо.

Пожалуйста, не сердитесь на меня, потому что я проходил вопросы, заданные на форуме, и нашел этот вопрос. Я получил решение проблемы, поэтому я делюсь этим.

0

Попробуйте с implimentig неявным ожиданием после инициализации драйвера. добавив ниже строку driver.manage(). timeouts(). implicitlyWait (50, TimeUnit.SECONDS);

+0

Я сделал это, но все же получил тот же результат, что и ничего не происходит после запуска окна WebDriver driver = new FirefoxDriver(); \t driver.manage(). Timeouts(). ImplicitlyWait (50, TimeUnit.SECONDS); –

+0

Попробуйте это из файла driver.findElement (By.LinkText («Gmail»)). Click(); – Himanshu

+0

Ошибка отображения в «findelement». Не знаю, почему это происходит. Любая подсказка? –

0

XPATH в коде является элементом DIV, но вы хотите нажать ANCHOR Gmail. Обновите xpath для ANCHOR и щелкните по нему.

+0

Извините, но я не знаком с термином «ANCHOR». Не могли бы вы дать мне путь, который вы просите меня обновить –

+0

driver.findElement (By.xpath (".//*[@ id = 'gb']/div [1]/div [1]/div [1 ]/дел [2]/а ")); – Kick

+0

Я использую driver.findElement (By.xpath (".//*[@ id = 'gb']/div [1]/div [1]/div [1]/div [2]/a")) ; код только, но конечный результат тот же, то есть, то есть после запуска браузера ничего не происходит –

1

Пожалуйста, попробуйте ниже. Он должен работать

List<WebElement> elements = driver.findElement(By.LinkText("Gmail")) 
elements.get(0).click(). 
+0

@ Павел, я написал этот вопрос в январе, говоря, что веб- драйвер не смог нажать на гиперссылку, и только сейчас я получил решение. На самом деле xpath для гиперссылки не был точным. Я использовал этот xpath.// * [@ id = 'gb']/div [1]/div [1]/div [1]/div [2], который размещал логотип, но не кнопку. Сегодня я изменил его на .//*[@id='gb']/div[1]/div[1]/div[1]/div[2]/a, и теперь его работа абсолютно прекрасна. Пожалуйста, не сердитесь на меня, потому что я проходил вопросы, которые задавал с форума, и нашел этот вопрос. Я получил решение проблемы. –

+0

Не стоит беспокоить человека. Приветствия! –

0

Я проверил код, приведенный ниже, он нажимает на GMAIL ссылку на Google странице, если ваш вопрос решается затем выбрать в качестве ответа

WebDriver driver= new FirefoxDriver(); 
driver.get("https://www.google.co.in/"); 
WebElement wb1= driver.findElement(By.xpath(".//*[@id='gb']/div[1]/div[1]/div[1]/div[2]/a")); 
wb1.click(); 
+0

Извините, но не знаю, почему код не работает в моей системе. Я чувствую агитацию, которую вы испытывали во время написания комментария, и для меня все это хорошо, потому что вчера я тоже столкнулся с той же проблемой. Не знаю, почему коды работают нормально в других системах. –

+0

Его нормально. У вас есть какое-либо исключение во время выполнения кода? – Kick

+0

для этого кода. Я не получаю никаких исключений. –

0

Это должно работать,

new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Gmail"))).click(); 
+1

@ A. Paul Я опубликовал этот вопрос в январе, говоря, что веб-драйвер не смог нажать на гиперссылку, и только сейчас я получил решение. На самом деле xpath для гиперссылки не был точным. Я использовал этот xpath- .//*[@id='gb']/div[1]/div[1]/div[1]/div[2], который размещал логотип, но не кнопку. Сегодня я изменил его на .//*[@id='gb']/div[1]/div[1]/div[1]/div[2]/a, и теперь его работа абсолютно прекрасна. Пожалуйста, не сердитесь на меня, потому что я проходил вопросы, которые задавал с форума, и нашел этот вопрос. Я получил решение проблемы. –

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