Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2012, 15:48
Новичок на форуме
Отправить личное сообщение для ganzalik228 Посмотреть профиль Найти все сообщения от ganzalik228
 
Регистрация: 30.01.2012
Сообщений: 5

Как достучаться до всех элементов формы
На страничке имеется форма, у формы нет id, нет никаких атрибутов, кроме action и method. Мне нужно проверить цвет у ВСЕХ элементов формы, не перебирая их явно (элементов куча, input select checkbox и т.д.). как "достать" из формы все элементы? Всё делаю в Selenium IDE через command: storeEval | command: мой "скрипт" | target | myResult (хотя думаю в чём делаю, не столь важно)
Что я пробовал:
1.

window.document.defaultView.getComputedStyle(windo w.document.getElementsByTagName('form')).getProper tyValue('background-color');
Ошибка: [error] Threw an exception: Could not convert JavaScript argument arg 0 [nsIDOMWindow.getComputedStyle]

2 (с присваиванием id форме).
window.document.getElementsByTagName('form')[0].id = "myForm" ; window.document.defaultView.getComputedStyle(windo w.document.myForm.getElementsByTagName('*')).getPr opertyValue('background-color');
Ошибка: [error] Threw an exception: window.document.myForm is undefined

3.
var myForm = document.getElementsByTagName('form')[0]; var children = myForm.childNodes;
Ошибка: [error] Threw an exception: myForm is undefined

4.
window.document.getElementsByTagName('form')[0].id = "myForm" ;
var children = document.myForm.getElementsByTagName('*');
такая же ошибка: [error] Threw an exception: document.myForm is undefined

Помогите, пожалуйста. Пробовал и через .setArrtibute
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2012, 16:21
Новичок на форуме
Отправить личное сообщение для maksimr Посмотреть профиль Найти все сообщения от maksimr
 
Регистрация: 26.05.2012
Сообщений: 2

var form = document.forms[0], // 0 - какая по счету форма на странице, в данном случае первая.
elements = form.elements,
getStyle = function (domNode){
  return window.getComputedStyle(domNode, null);
};


for(var i = 0, len = elements.length; i < len; i ++){
    console.log(getStyle(elements[i]).backgroundColor);
}


Надеюсь что правильно понял ваш вопрос и смог хоть чем то помочь.
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2012, 16:25
Новичок на форуме
Отправить личное сообщение для ganzalik228 Посмотреть профиль Найти все сообщения от ganzalik228
 
Регистрация: 30.01.2012
Сообщений: 5

ну с return'ом селениум не очень дружить хочет, как организовать саму проверку цвета, знаю, нужно только достать все элементы формы, и такой вопрос: console.log это просто запись в лог же? я так понял? на проверку цвета не влияет?)
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2012, 16:31
Новичок на форуме
Отправить личное сообщение для ganzalik228 Посмотреть профиль Найти все сообщения от ganzalik228
 
Регистрация: 30.01.2012
Сообщений: 5

Забыл, огромное человеческое спасибо, за ответ) Хоть чуть чуть для селениума не подходит, но хотя бы есть хороший материал чтобы попробовать пошаманить с ним)
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2012, 18:10
Новичок на форуме
Отправить личное сообщение для maksimr Посмотреть профиль Найти все сообщения от maksimr
 
Регистрация: 26.05.2012
Сообщений: 2

getStile(elements[i]);
    // можно заменить на 
    window.getComputedStyle(elements[i], null);


console.log - это просто обычный вывод данных, в моем случае это консоль firebug-а. =)

В данном примере я просто показал как можно достать форму и ее элементы использум свойства DOM level 0.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Никак не могу достучаться до элементов DeeSoft jQuery 0 14.02.2011 20:05
Уникальность элементов в массиве - как? .andreev Общие вопросы Javascript 2 14.11.2010 15:03
Как получить список всех установленных плагинов VitAngel Internet Explorer 0 15.07.2009 09:13
Как снять фокус со всех элементов? Logo Общие вопросы Javascript 7 02.07.2009 23:53
Достучаться до формы во фрейме через объект d0ublezer0 Events/DOM/Window 6 02.07.2009 17:09