Нажать на кнопку JS
Здравтсвуйте. Есть форма сайта(https://target.mail.ru/ads/create/). Помогите нажать на кнопку "Загрузить", в JS полный ноль, пробовал нажимать на AutoIT получается, но скрипт зависает, после чего не возможны дальнейшие действия. Нет тега формы, только class кнопки.
|
кнопка.click() или кнопка .submit()?:blink:
|
Я не понял, что вы имели в виду.
На Autiit я обращался так: Код:
$oIE = _IECreate("https://target.mail.ru/ads/create/", 1, 1, 1);Получаем обьект IE |
для клика на кнопку программно используются события 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;
}
}
|
lord2kim
Скажите как мне запустить код, чтобы он отработал на нужной форме в браузере IE. |
Цитата:
document.getElementById("идентификатор_формы").submit();
//или
document.forms.(имя_формы).submit();
если это просто кнопка и у нее есть только class, и такой class только у одного элемента на странице, то добавляете в начале страницы реализацию метода getElementsByClassName() для IE и
document.getElementsByClassName("имя_класса")[0].click();
|
Скрипт не работает в IE выдает ошибку:
Цитата:
"setTimeout(function(){document.getElementByName("image_file").Submit();},1)"
"setTimeout(function(){document.getElementByName('image_file').Click();},1)"
|
Цитата:
setTimeout(function() { document.getElementsByName("image_file")[n].submit(); },1);
setTimeout(function() { document.getElementsByName('image_file')[n].click(); },1)
где n - № элемента на странице (нумерация элементов начинается с 0) |
| Часовой пояс GMT +3, время: 15:32. |