Отделить буквы от цифр и
#1
Отправлено 30 ноября 2010 - 08:24
Делаю команды:
| storeText | //h1 | id |
| echo | ${id} | |
echo возвращает текст: Заказ №123
Мне нужно как-то отделить буквы от цифр. Т.е. нужно в переменную засунуть 123. Как это сделать и можно ли это сделать?
#2
Отправлено 30 ноября 2010 - 09:33
А вообще если такие задачи появляются, то рекомендую отказаться от Selenium IDE, иначе со временем проблем будет всё больше и больше.
#3
Отправлено 30 ноября 2010 - 09:58
#4
Отправлено 30 ноября 2010 - 10:02
Я думаю, vitorg имел ввиду переход с IDE на RC.т.е. средствами selenium'a такого не сделать? может как-то через регулярные?
С помощью регулярных - да, можно.
Но боюсь, что IDE просто не подерживает такие вещи.
#5
Отправлено 30 ноября 2010 - 10:03
#6
Отправлено 30 ноября 2010 - 10:17
<tr> <td>storeEval</td> <td>window.document.evaluate( "//h1", window.document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null ).iterateNext().innerHTML.substr(8,3)</td> <td>text</td> </tr> <tr> <td>echo</td> <td>${text}</td> <td></td> </tr>
#7
Отправлено 30 ноября 2010 - 10:19
Да, именно про это я и говорил в случае если очень хочется через IDE, но согласен - это извращение ещё то :)Это конечно ещё то извращение, но вот так можно это сделать в Selenium IDE:
#8
Отправлено 30 ноября 2010 - 10:20
String zakazNumber; Pattern p = Pattern.compile(".+(\\d+)"); Matcher m; m = p.matcher(selenium.getText("путь к элементу")); if(m.find()) { zakazNumber = m.group(1); }
Селениум - инструмент для эмуляции действий пользователя. В таких задачах, как ваша, без вмешательства языка программирования, боюсь сделать не получится.
зы: хотя вон у ребят получилось
Но я все же предпочитаю не издеваться над собой.
#9
Отправлено 30 ноября 2010 - 10:21
А можно маленький пример как это можно в RC сделать?
При использовании языка высокого уровня (например Java или С #) для извлечения чисел из строки Selenium не нужен.
#10
Отправлено 30 ноября 2010 - 10:43
Вставил
window.document.evaluate( "//h1", window.document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null ).iterateNext().innerHTML.substr(8,3)
Но выдается "Threw an exception: syntax error"
#11
Отправлено 30 ноября 2010 - 12:44
stmark, да про пример на RC я что-т загнул. Извиняюсь.
Вставилwindow.document.evaluate( "//h1", window.document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null ).iterateNext().innerHTML.substr(8,3)
Но выдается "Threw an exception: syntax error"
Всё верно, просто нужно вставлять не туды. вставлять нужно в исходник на вкладке Source, а если в Table, то нужно подправить:
Command = storeEval Target = window.document.evaluate( "//h1", window.document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null ).iterateNext().innerHTML.substr(8,3) Value = text
#12
Отправлено 30 ноября 2010 - 13:22
Только вот мне думается, как же до такого додуматься, что бы в похожей ситуации составить правильный вывод?
#13
Отправлено 30 ноября 2010 - 13:59
Только вот мне думается, как же до такого додуматься, что бы в похожей ситуации составить правильный вывод?
Взять учебник по JScript и доки по Selenium'у и практиковаться, если я правильно понял вопрос.
#14
Отправлено 06 декабря 2010 - 18:58
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных