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

Фотография

Как скопировать значения из drop-down


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

#1 Oleg77777

Oleg77777

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Petrov Oleg

Отправлено 22 мая 2012 - 11:01

Часто при написании тестов или багов необходимо вставить значение из выпадающего списка (drop-down) на Web-странице. Или скопировать все значения из drop-down, а их там бывает довольно много.
Можно конечно полезть в код, но там вы получите неудобочитаемую строку, обрамленную тэгами.
Кто нибудь знает метод , как скопировать значение/я из drop-down (если все значения, то чтобы они копировались в столбец)?
  • 0

#2 VitalII

VitalII

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

  • Members
  • Pip
  • 23 сообщений
  • Город:Donetsk

Отправлено 23 мая 2012 - 06:30

Можно например написать на Selenium IDE такой скрипт
  • 0
Мой маленький блог

#3 ak40u

ak40u

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

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

Отправлено 24 мая 2012 - 08:08

Часто при написании тестов или багов необходимо вставить значение из выпадающего списка (drop-down) на Web-странице. Или скопировать все значения из drop-down, а их там бывает довольно много.
Можно конечно полезть в код, но там вы получите неудобочитаемую строку, обрамленную тэгами.
Кто нибудь знает метод , как скопировать значение/я из drop-down (если все значения, то чтобы они копировались в столбец)?



Нужен конкретный dropdown list, с которого надо копировать. Если брать абстрактный, то например здесь текст можно выделить протяжкой мыши с зажатой левой кнопкой.
  • 0

#4 Oleg77777

Oleg77777

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Petrov Oleg

Отправлено 24 мая 2012 - 13:02

Самый обыкновенный drop-down, не позволяющий множественный выбор. Ну вот например Здесь
  • 0

#5 ak40u

ak40u

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

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

Отправлено 24 мая 2012 - 13:27

Самое простое будет - написать на js скрипт-букмарклет, который будет парсить страницу и собирать value нужного нам selectbox. Только я не знаю js :)
  • 0

#6 negro

negro

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

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Себастьян Переро
  • Город:Скотопригоньевск

Отправлено 24 мая 2012 - 16:34

F12 в контексте сайта researcherid для стараницы, где dropdown Country/Territory.
Далее

=== 1-ый способ (jscript-фреймворк) два варианта решения===
в console (с учётом используемой там библиотеки prototype.js):
> $('country').textContent
или
> $$('#country option').each(function(o){console.log(o.innerText)})

=== 2-ой способ (xpath) ===
> document.evaluate('string(.)', document.all.country, null, XPathResult.ANY_TYPE, null ).stringValue

=== 3-ий способ (regexp) ===
> document.all.country.innerHTML.match(/[a-z/ \-\.,:]+(?=<\/option>)/ig).join("\n")

=== 4-ый способ (dom) ===
> for(i in (o=document.getElementById('country').getElementsByTagName('option'))){console.log(o[i].text)}

...

Сообщение отредактировал negro: 30 мая 2012 - 10:39

  • 0

#7 Oleg77777

Oleg77777

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Petrov Oleg

Отправлено 08 июня 2012 - 14:33

Огромное спасибо. Впечатлен вашими знаниями. Вот кстати краткий отчет:
1) В консоли FF
- работают: 1a, 2, 3 и 4 способ.
- не работает: 1b-возвращает кучу option, но не чистых значений
Единственное крупное неудобство что 1, 2 и 3 способ возвращают значения, которые выглядят форматированными, но когда вы их копируете из консоли, они идут одной строкой

2) В консоли IE
- работают: 1b, 3, 4
- не работает: 1a, 2,
В IE удобно тем, что у них в консоли все форматируется в столбец, при копировании никаких проблем.
Но все таки, эти способы не универсальны, так как на каждый drop-down необходимо менять запрос. Я вобще то думал что уже есть какй-нибудь add-on для FF но оказывается нет
  • 0


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

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