Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2012, 05:58
Аспирант
Отправить личное сообщение для eropov Посмотреть профиль Найти все сообщения от eropov
 
Регистрация: 10.06.2012
Сообщений: 42

Нажать на кнопку JS
Здравтсвуйте. Есть форма сайта(https://target.mail.ru/ads/create/). Помогите нажать на кнопку "Загрузить", в JS полный ноль, пробовал нажимать на AutoIT получается, но скрипт зависает, после чего не возможны дальнейшие действия. Нет тега формы, только class кнопки.

Последний раз редактировалось eropov, 10.06.2012 в 06:14.
Ответить с цитированием
  #2 (permalink)  
Старый 10.06.2012, 08:49
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

кнопка.click() или кнопка .submit()?
__________________
Я только учусь.Ногами просьба не бить
Ответить с цитированием
  #3 (permalink)  
Старый 10.06.2012, 09:01
Аспирант
Отправить личное сообщение для eropov Посмотреть профиль Найти все сообщения от eropov
 
Регистрация: 10.06.2012
Сообщений: 42

Я не понял, что вы имели в виду.
На Autiit я обращался так:
Код:
$oIE = _IECreate("https://target.mail.ru/ads/create/", 1, 1, 1);Получаем обьект IE
$oSubts = _IETagNameGetCollection($oIE, 'input');Получаем обьект кнопку по тегу input
For $oSubt In $oSubts
	If $oSubt.classname = 'image_upload_0' Then;Если класс кнопки верный
		$oSubt.click();Сдесь мы нажимаем на кнопку, появляется окно для выбора картинки и 
мы зависаем на этом месте. Думаю это поток, потому что если закрыть появившееся окно, то зависание уходит
	EndIf
Next
Если вам нужна структура html, можете ее посмотреть, пройдя по вышеописанной ссылке.

Последний раз редактировалось eropov, 10.06.2012 в 09:07.
Ответить с цитированием
  #4 (permalink)  
Старый 10.06.2012, 10:02
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

для клика на кнопку программно используются события click() или submit() для формы
document.getElementsByClassName("класс кнопки").click();

или
document.getElementById("идентификатор формы").submit(); // если кнопка имеет type="submit"

реализация метода getElementsByClassName() для IE
if (typeof document.getElementsByClassName == 'undefined') {
	document.getElementsByClassName = function(classname) {
		var all = document.all,
		elements = [],
		regexpr = new RegExp('\\b'+classname+'\\b','ig');
		for(var x=0; x<all.length; x++) if (all[x].className)
		if (all[x].className.search(regexpr)!=-1) elements[elements.length] = all[x];
		return elements;
	}
}
Ответить с цитированием
  #5 (permalink)  
Старый 10.06.2012, 10:57
Аспирант
Отправить личное сообщение для eropov Посмотреть профиль Найти все сообщения от eropov
 
Регистрация: 10.06.2012
Сообщений: 42

lord2kim
Скажите как мне запустить код, чтобы он отработал на нужной форме в браузере IE.

Последний раз редактировалось eropov, 10.06.2012 в 11:03.
Ответить с цитированием
  #6 (permalink)  
Старый 10.06.2012, 14:54
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от eropov Посмотреть сообщение
lord2kim
Скажите как мне запустить код, чтобы он отработал на нужной форме в браузере IE.
если это кнопка type="submit", то можно через форму
document.getElementById("идентификатор_формы").submit();
//или
document.forms.(имя_формы).submit();

если это просто кнопка и у нее есть только class, и такой class только у одного элемента на странице, то добавляете в начале страницы реализацию метода getElementsByClassName() для IE и
document.getElementsByClassName("имя_класса")[0].click();
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2012, 19:44
Аспирант
Отправить личное сообщение для eropov Посмотреть профиль Найти все сообщения от eropov
 
Регистрация: 10.06.2012
Сообщений: 42

Скрипт не работает в IE выдает ошибку:

Цитата:
Сообщение: Объект не поддерживает это свойство или метод
Строка: 1
Символ: 23
Код: 0
URI-код: https://target.mail.ru/ads/create/
Использую так:
"setTimeout(function(){document.getElementByName("image_file").Submit();},1)"
"setTimeout(function(){document.getElementByName('image_file').Click();},1)"

Последний раз редактировалось eropov, 13.06.2012 в 19:46.
Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2012, 21:31
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от eropov Посмотреть сообщение
Скрипт не работает в IE выдает ошибку:



Использую так:
"setTimeout(function(){document.getElementByName("image_file").Submit();},1)"
"setTimeout(function(){document.getElementByName('image_file').Click();},1)"
методы с маленьких букв начинаются вроде...а также getElementsByName пишется с буквой s (все методы getElements, кроме getElementById пишутся с буковкой s) + необходимо указать № элемента, т.к. getElementsByName это коллекция элементов на странице с аттрибутом name
setTimeout(function() { document.getElementsByName("image_file")[n].submit(); },1);
setTimeout(function() { document.getElementsByName('image_file')[n].click(); },1)

где n - № элемента на странице (нумерация элементов начинается с 0)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программно нажать кнопку keanser Events/DOM/Window 5 31.10.2011 16:15
Нажать кнопку... leny Firefox/Mozilla 1 29.04.2011 23:24
как нажать эту кнопку (submit) в автоматическом режиме без участия юзера. Novihec Сайт Javascript.ru 13 22.06.2010 17:28
Как сделать так, чтобы JS при нажатии на кнопку не выполняла запрос со страницы. JSProgrammer Элементы интерфейса 3 18.05.2010 20:18
Как нажать кнопку из адресной строки? nnst Элементы интерфейса 2 16.04.2010 13:56