Перейти к содержимому

Фотография

Selenium RC. Открывается новое окно при переходе по ссылке, как начать


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 22

#21 Dary

Dary

    Активный участник

  • Members
  • PipPip
  • 94 сообщений
  • ФИО:даша

Отправлено 08 октября 2010 - 12:01

Я так отлавливаю попапы:

 selenium.click(nameLink1);
 try{
	selenium.waitForPopUp("null", constant.LoadTime);
	selenium.selectWindow("null");
    }catch (Exception e) { 
                    System.out.println("  -   Exception(no popup appeared): " + e.getMessage()); 
                         continue; // идём искать другую ссылку
 }

// работаем в появившемся окне

У меня проблема более глобальна:
Нужно прокликать все ссылки на странице, но я не знаю какие из них открываются в текущем окне, а какие в попапе.
Что делать, ума не приложу

Такое решение у меня не работает:

String[] winIDs = selenium.getAllWindows();
int origCount = winIDs.length; // Scan original number of available windows

....
// Here we make operation activating new window
....

int maxTries = 60; // Specify the number of iterations while waiting for new window

for( int i = 0 ; i < maxTries ; i++ ){
    winIDs = selenium.getAllWindows();
    if( winIDs.length > origCount ){
        break; // If the number of open windows becomes greater than before we exit the loop
    }
}
selenium.selectWindow( winIDs[ winIDs.length - 1 ] );

  • 0

#22 filipok

filipok

    Новый участник

  • Members
  • Pip
  • 40 сообщений

Отправлено 09 ноября 2010 - 08:23

Я так отлавливаю попапы:

 selenium.click(nameLink1);
 try{
	selenium.waitForPopUp("null", constant.LoadTime);
	selenium.selectWindow("null");
    }catch (Exception e) { 
                    System.out.println("  -   Exception(no popup appeared): " + e.getMessage()); 
                         continue; // идём искать другую ссылку
 }

// работаем в появившемся окне

У меня проблема более глобальна:
Нужно прокликать все ссылки на странице, но я не знаю какие из них открываются в текущем окне, а какие в попапе.
Что делать, ума не приложу

Такое решение у меня не работает:

String[] winIDs = selenium.getAllWindows();
int origCount = winIDs.length; // Scan original number of available windows

....
// Here we make operation activating new window
....

int maxTries = 60; // Specify the number of iterations while waiting for new window

for( int i = 0 ; i < maxTries ; i++ ){
    winIDs = selenium.getAllWindows();
    if( winIDs.length > origCount ){
        break; // If the number of open windows becomes greater than before we exit the loop
    }
}
selenium.selectWindow( winIDs[ winIDs.length - 1 ] );

Я делал подобную весчь, есть ссылки и некоторые открываются в отдельном окне а некоторые в этом же.

browser.click("link=" + linkName);
      
      String windowsTitles[] = browser.getAllWindowTitles();
      
      // if new window opened
      if (windowsTitles.length > 1) {
        browser.selectWindow("_blank");
      }

      waitForPageToLoad(); - это мой метод ожидания, там задержка прошита уже
      проделать некоторые операции в открывшемся окне (не важно в новом или в этом же)

      // if new window was opened
      if (windowsTitles.length > 1) {
        browser.close();
        browser.selectWindow(windowsTitles[0]);
      }

      assert res;
browser - это экземпляр селениума
  • 0

#23 kylie

kylie

    Новый участник

  • Members
  • Pip
  • 28 сообщений

Отправлено 08 апреля 2011 - 14:37

"... А что в квадратных скобках указывается?
добавил эти две строки, вывалило ошибку в первой... "

Здраствуйте!
У меня такая же проблема, выдает ошибку:

java.lang.ArrayIndexOutOfBoundsException: 1

Помогите плиз... :help:
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных