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

Фотография

Selenium RC не находит элемент


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

#41 OVA

OVA

    Опытный участник

  • Members
  • PipPipPipPip
  • 405 сообщений
  • ФИО:Высоцкий Сергей Павлович
  • Город:Новосибирск

Отправлено 14 декабря 2010 - 10:19

именно кликнуть, ведь просто перейти на линку mail.google.com/mail/?shva=1#compose это не правильно, теряется смысл

А почему теряется? И смысл чего теряется?
  • 0

#42 curiosity

curiosity

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

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

Отправлено 14 декабря 2010 - 10:50


именно кликнуть, ведь просто перейти на линку mail.google.com/mail/?shva=1#compose это не правильно, теряется смысл

А почему теряется? И смысл чего теряется?



теряется смысл проверки.
Кнопка может находиться на странице, но где доказательства того, что она работает в таком случае?! а вот если мы кликнем по ней, то это будет наверняка
  • 0

#43 curiosity

curiosity

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

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

Отправлено 14 декабря 2010 - 14:18


не могу разобраться сама, нужна помощь специалистов :)

Как реализовать клик по кнопке "Compose mail! в gmail-e для перехода на страницу написания нового письма.
Воспроизвести записанные шаги в селениум иде не удается - ругается на click("//div[@id=':of']/div[1]/div");


логинюсь
выбираю нужный фрейм selectFrame(id=canvas_frame);
жду появления текста waitForTextPresent(Compose mail);
как сделать клик по элементу с текстом Compose mail?! подскажите свежие варианты, плиз
click(//div['Compose mail']) - добилась того, что селениум иде по крайне мере не ругается, а находит елемент, но перехода на нужную страницу не происходит :(


Либо doubleClickAt(locator, "") либо mouseOver + mouseDown + mouseUp на диве.
Второй вариант точно рабочий. Да и вообще при работе с гуглом лучше использовать clickAt. Проверено ;)

KaZiK, спасибо большое! Теперь все работает :crazy:
сделала через mouseOver + mouseDown + mouseUp
  • 0

#44 hellena_z

hellena_z

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Замедлина Елена

Отправлено 03 марта 2011 - 00:25

Тоже долго мучилась с кнопкой Compose mail. В итоге помогло mouseOver + mouseDown + mouseUp.
Но сразу же возникла следующая проблема: Как ввести адрес получателя письма.
Попробовала с помощью
selenium.click("//*[@id=\":jc\"]");
selenium.type("//*[@id=\":jc\"]", "text");
ошибки нет, но и действий не происходит. Может кто-нибудь может подсказать?

в последствии появилась ошибка, что элемент не найден. Id постоянно меняется. Выход из ситуации пока так и не нашла
  • 0

#45 curiosity

curiosity

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

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

Отправлено 03 марта 2011 - 06:49

Тоже долго мучилась с кнопкой Compose mail. В итоге помогло mouseOver + mouseDown + mouseUp.
Но сразу же возникла следующая проблема: Как ввести адрес получателя письма.
Попробовала с помощью
selenium.click("//*[@id=\":jc\"]");
selenium.type("//*[@id=\":jc\"]", "text");
ошибки нет, но и действий не происходит. Может кто-нибудь может подсказать?

в последствии появилась ошибка, что элемент не найден. Id постоянно меняется. Выход из ситуации пока так и не нашла


используйте xpath
я обратилась к полю, в которое надо ввести адрес вот так:

selenium.type("//div['to']", "email");
  • 0

#46 Anamaliya

Anamaliya

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

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


Отправлено 22 марта 2011 - 11:14

Здравствуйте! У меня похожая проблема - selenium не может почему-то найти элемент.
Вот мой код:

selenium.selectFrame("//*[@id='ctl00_ctl00_Content_Content_txtFldFullDescr___Frame']");
      selenium.selectFrame("//html/body/table/tbody/tr[2]/td/iframe/");
      selenium.type("//html/body","<p>Test pin from Selenium staff</p>");

Возникает ошибка "ERROR: Element //html/body/table/tbody/tr[2]/td/iframe/ not found", хотя данный путь прописан правильно.
Прикрепляю html-код данного элемента:
Прикрепленный файл  html.PNG   19,99К   15 Количество загрузок:
  • 0

#47 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 22 марта 2011 - 12:15

Здравствуйте! У меня похожая проблема - selenium не может почему-то найти элемент.
Вот мой код:

selenium.selectFrame("//*[@id='ctl00_ctl00_Content_Content_txtFldFullDescr___Frame']");
      selenium.selectFrame("//html/body/table/tbody/tr[2]/td/iframe/");
      selenium.type("//html/body","<p>Test pin from Selenium staff</p>");

Возникает ошибка "ERROR: Element //html/body/table/tbody/tr[2]/td/iframe/ not found", хотя данный путь прописан правильно.
Прикрепляю html-код данного элемента:
Прикрепленный файл  html.PNG   19,99К   15 Количество загрузок:

Есть несколько подозрений:
1) В вашем локаторе для фрейма последний слеш может оказаться лишним.
2) Возможно, xpath-локатор неприменим в данном выражении
Попробуйте какой-то другой локатор. Например здесь перечислены возможные формы локаторов.
  • 0

#48 GFSD

GFSD

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

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

Отправлено 03 июня 2011 - 08:28

Чтобы не плодить темы, оформлю тут ещё одну ситуацию:
Необходимо ввести текст в текстовое поле редактора tinyMCE. Ни Selenium IDE ни RC не хотят находить это поле и тем более не пишут туда текст.
Вот код страницы:
Изображение

IDE вообще никак не определяет, а путь

selenium.Type("//html/body/div/div/div/form/div[2]/div/span/table/tbody/tr[2]/td/iframe/html/body[@id='tinymce']/p", "adawdawd");
работать не хочет.
Там ближе к элементу есть несколько tr, возможно tr[2] тут не подходит, хотя других идентификаторов у него нет...
Подскажите в чём может быть проблема?



Помогите пожалуйста с решением аналогичной проблемы:

посоветовали написать так:
public class Untitled extends SeleneseTestCase {
        public void setUp() throws Exception {
                setUp("http://tinymce.moxiecode.com/", "*chrome");
        }
        public void testUntitled() throws Exception {
                selenium.open("/examples/full.php");
                selenium.selectFrame("content_ifr");
                selenium.focus("tinymce");
                selenium.type("tinymce", "Some text");
                selenium.selectFrame("relative=parent");
        }
}


имеется похожая проблема:
Изображение
уже и Java Robot использовать начал чтобы ввести данные в это окно, причем на Firefox и Chrome все работает шикарно
мой код аналогичен :
selenium.selectFrame("//*[@id='xEditingArea']/iframe");
selenium.focus("fckbodycontent");
selenium.type("fckbodycontent", "Some text");
selenium.selectFrame("relative=parent");

Получается навести фокус на данный фрейм, переходит курсор в данное окно, но текст в него не вводится


P.S. для лисы и хрома проходит и обычный
selenium.type("xPathDiscussionsDescription", dD.title);
xPathDiscussionsDescription = "//html[@dir='ltr']/body"

  • 0

#49 alena b

alena b

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

  • Members
  • Pip
  • 23 сообщений
  • ФИО:Alena

Отправлено 03 июня 2011 - 21:14

GFSD, то есть в ФФ и хроме работает вот это selenium.type("fckbodycontent", "Some text"); ?
Да, я встречалась, что в ИЕ такое не прокатывает =) Даже встречала случаи, что type не работал при вводе в iframe (tinymce) даже в ФФ. Специально просили программистов добавить в body что-то еще.

Единственное, что могу предложить - это делать фокус на "предыдущий" элемент, а затем нажимать TAB и вводить нативным методом Insert string. Решение не супер , но оно универсально и подойдет для всех случаев :drinks:
  • 0

#50 GFSD

GFSD

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

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

Отправлено 04 июня 2011 - 05:08

GFSD, то есть в ФФ и хроме работает вот это selenium.type("fckbodycontent", "Some text"); ?
Да, я встречалась, что в ИЕ такое не прокатывает =) Даже встречала случаи, что type не работал при вводе в iframe (tinymce) даже в ФФ. Специально просили программистов добавить в body что-то еще.

Единственное, что могу предложить - это делать фокус на "предыдущий" элемент, а затем нажимать TAB и вводить нативным методом Insert string. Решение не супер , но оно универсально и подойдет для всех случаев :drinks:


да,
selenium.type("fckbodycontent", "Some text");
так проходит в ФФ
и проходит вот так:
selenium.type("//html[@dir='ltr']/body", "Some text");

Тоже просил программистов добавить id в body, добавили этот "fckbodycontent", но не помогает...
TAB и нативные методы оставляю на десерт. :) Придется делать заглушку только для IE по вводу в данные окна...
может быть все таки удастся средствами Selenium ввести?..
  • 0


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

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