PopUp

подскажите пжалуйста как быть в такой ситуации: работаю в Selenium IDE.Нужно как то отловить страничку (PopUp) и на ней нажать кнопку ОК. Проблема в том,что одна часть в id этой кнопки меняется каждый раз при входе((((можно как то вытянуть этот кусочек из кода и вставить в  id?????

(<td align="left" width="50%" valign="top" class="wiz-question-idn ident1" id="prompt_flex_physician_sep_0EF912F0D2EF4D2_physician_last_name">Last Name</td>)---элемент на исходном коде страницы

id="prompt_flex_physician_sep_0EF912F0D2EF4D2_physician_last_name">Last Name</td>

часть - 0EF912F0D2EF4D2 - каждый раз другая,как мне отследить этот элемент?

заранее большое спасибо)

Попробуйте xpath = //td[@class='wiz-question-idn ident1']

если класс тоже динамический элемент - ищите по тексту - xpath = //td[contains(.,'Last Name')]

 

или css локатором

(<tr>
    <td>type</td>
    <td>xpath = //td[@class='wiz-question-idn ident1']</td>
    <td>lastname</td>
</tr>)

я правильно поняла?))

а можно подробнее как через css локатор реализовать?спасибо

я неправильно написала вопрос)это не кнопка ,а поле для ввода текста-так вот,мне нужно его отследить и записать туда текст

Ответ найдете в видео уроке тут от М.Поляруша

спасибо-буду искать)

ну через локатор нужно делать если у вас иерархия в хтмл также не изменяеться, вы это еще учтите, если же единственный способ доступа через этот сложный class в виде локатора то лучше xpath я считаю, который выше написали

через XPATH не находит(((может нужно использовать не Selenium IDE а RC?

код киньте как ищете

если непосредственно к id привязываться, то можно так попробовать

<tr>
    <td>type</td>
    <td>//*[contains(@id, 'prompt_flex_physician_sep_')]</td>
    <td>lastname</td>
</tr>

Спасибо Vitalii, я не уточнила,что на страничке есть еще 4 элемента,которые начинаются так же -----prompt_flex_physician_sep_-----отличаются только окончанием)я попробовала искать по окончанию,ошибку не выдало но и в поле не записало((((((Может что то еще надо?

вот кусочек из кода страницы где встречаются эти элементы:

(class=“wiz-question-idn ident1” id=“prompt_flex_physician_sep_2D4035EB3F154C3_physician_first_name”)

(class="wiz-question-idn ident1" id="prompt_flex_physician_sep_2D4035EB3F154C3_physician_last_name")

а так я ищу в Selenium IDE:

<tr>
    <td>type</td>
    <td>//*[contains(@id, '_physician_first_name')]</td>
    <td>firstname</td>
</tr>
<tr>
    <td>type</td>
    <td>//*[contains(@id, '_physician_last_name')]</td>
    <td>lastname</td>
</tr>

и он пропускает это как правильное,но не записывает значение в текстовые поля( может из-за того,что эта страничка выпадающая...

 

извиняюсь что достаю вопросами-просто в тестировании новичек)

//*[contains(@id, 'prompt_flex_physician_sep_') and contains(@id, '_physician_last_name')]

должно сработать

опять пропустило без ошибок-но ничего в поле не записало(

а с id=prompt_flex_physician_sep_0EF912F0D2EF4D2_physician_last_name

вообще работает type?

дайте

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

Thread.sleep(2000);

перед тем как записывать в поле.

Не успевает видимо рендерить текст бокс

А еще вопрос сам елемнт на странице необходимый находит ?

элемент находит,но не производит в него запись((

а по поводу driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);----все таки нужно использовать не просто selenium IDE а driver, или такое можно прописать и в selenium IDE?

Спасибо пока получилось(кое что подправила)))))ВСЕМ БОЛЬШОЕ СПАСИБО ЗА СОВЕТЫ)))