Программа для быстрого заполнения всех форм регистрации. Программы для автоматического заполнения форм. Несколько кнопок действий

Модуль поиска не установлен.

Надежда Баловсяк

Те пользователи, кому часто приходится проводить в Интернете много времени, занимаясь, например, регистрацией продуктов, рассылкой материалов или онлайн-покупками, много времени тратят на заполнение различных веб-форм. Логины, пароли, имена, адреса, индекс и многое другое...

Бесконечное ожидание завершения регистрации после ввода практически одних и тех же данных. Упростить эту рутинную работу могут специальные программы, предназначенные для автоматического заполнения форм.

В Сети существует очень много программ этого класса, однако настоящих универсалов среди них - единицы, так как большинство из таких программ часто имеют слишком узкую специализацию.

Во время интернет-серфинга часто приходится заполнять различные формы на веб-страницах, указывая при этом одни и те же данные - фамилию, имя, адрес, дату рождения и многое другое. С помощью специальных программ можно сохранить эти данные в специальной базе, а при возникновении необходимости, подставлять их в формы на веб-страницах.

IE Scripter

Сайт разработчика: www.iescripter.com
Размер дистрибутива: 1,2 Мб
Статус: Shareware

В результате установки программа IE Scripter добавляет свою кнопку на панель инструментов браузера Internet Explorer. Встретив форму на веб-странице, вам нужно ввести данные, после чего нажать эту кнопку. В окне браузера отобразится дополнительная панель, с помощью которой и осуществляется управление работой программы. Вы можете сохранить введенные в форму данные. При этом программа позволяет вам отобрать, какие именно значения нужно сохранить, а какие - опустить.

Встретив форму на другом сайте, для того чтобы воспользоваться сохраненными данными, нажмите кнопку Load, и программа автоматически подставит все значения в нужные поля. Правда, надо заметить, что не всегда программа работает корректно, особенно для выпадающих полей. Кроме того, не предусмотрено использование различных данных для одной страницы, открытой в Internet Explorer, например, нельзя применить данные нескольких почтовых ящиков - программа не умеет запоминать несколько наборов значений.

Кроме этого способа заполнения, вы можете сохранить в базе данных IE Scripter стандартный набор значений, который программа будет использовать при заполнении встреченных на веб-страницах форм. Эти параметры следует задать в окне настроек программы. Следует заметить, что набор стандартных параметров недостаточный, и их не всегда хватает для заполнения форм. Эти параметры можно загрузить из набора, сохраненного в настройках Internet Explorer. Кроме того, в программе отсутствует возможность редактирования списка ключевых слов, по которым определяется тип поля в веб-форме.

Программа обладает гибкими настройками. Настройки можно сохранить в специальном файле. Среди дополнительных возможностей программы можно отметить инструмент генерации паролей и просмотр cookies.

iNetFormFiller

Сайт разработчика: www.inetformfiller.com
Размер дистрибутива: 2,8 Мб
Статус: Shareware

После установки и обязательной регистрации программы iNetFormFiller в системном трее будет размещен ее значок.

В основном окне программы размещены анкеты с очень детальной информацией о пользователе. Такое впечатление, что разработчики программы предусмотрели все возможные варианты полей для ввода, даже те, которые очень редко встречаются при заполнении веб-форм. Данные формы сохраняются в профайле, который можно настроить, произвольным образом выбирая поля, которые войдут в него, а также создавая группы полей. Кроме того, анкета может содержать поля абсолютно любых стандартов. При этом некоторые поля можно связывать между собой. В этом случае при вводе определенной информации в одно поле остальные, связанные с ним, могут быть заполнены автоматически указанными значениями. При создании профайла программа поддерживает удаление лишних полей. А уже готовые профайлы можно сохранить как шаблоны и использовать впоследствии при создании других профайлов.

В браузер Internet Explorer после установки программы встраивается дополнительная панель инструментов iNEtFormFiller.

Эта программа также умеет заполнять формы двумя способами - подставляя в поля на веб-странице сохраненные данные, либо сохраняя данные, которые были введены в формы на веб-странице. Для заполнения формы достаточно нажать кнопку Заполнить, и все данные будут сохранены в форме.

Все страницы, заполненные программой, сохраняются в специальном разделе - списке форм-карт. Если выделить форм-карту в списке, рядом в окне программы будут показаны поля этой страницы, которые можно редактировать в оффлайновом режиме, просто вводя туда нужные значения. По сути, форм-карта представляет собой ту же веб-страницу с формой, но только с сохраненной структурой.

В режиме пакетного ввода информации программа позволяет заполнять online-формы типовыми данными, при этом можно указать, какие данные следует подставлять из профайла, а какие - вводить вручную.

Еще один интересный инструмент, доступный в iNetFormFiller, позволяет записать каждое действие пользователя, выполняемое в браузере. В этом режиме работы программа запоминает не только заполненные поля, но и каждый щелчок по ссылке или кнопке. Можно запомнить практически любой набор действий, а потом просто воспроизвести его нужное количество раз, изменяя, при необходимости, некоторые параметры.

Следует отметить гибкие возможности настройки программы. Для каждой страницы программа позволяет задать свои собственные настройки, включающие различные опции сохранения и заполнения. Благодаря функциям экспорта и импорта настроек и сохраненных профайлов базу данных программы можно перенести на другой компьютер.

RoboForm

Сайт разработчика: www.roboform.com
Размер дистрибутива: 1,8 Мб
Статус: Shareware

Функциональные возможности RoboForm выделяют эту программу из аналогов, делая ее одной из лучших в своей категории.

Эта программа также добавляет на панель инструментов браузера свою кнопку. RoboForm умеет сохранять данные, которые вы ввели на веб-страницы. При этом программа хранит эти данные в специальных записях под названием пасс-карты. Эти пасс-карты можно использовать для заполнения форм. А если вы введете какие-то данные в формы на веб-страницы, программа сумеет распознать ваши действия и предложит вам сохранить эти данные.

С помощью редактора персон вы сможете вручную сохранить данные для последующего их использования при заполнении форм. Содержимое базы данных программы, пасс-карты, а также возможность добавления новых записей в базу данных программы могут быть защищены паролями.

Если с программой работают несколько пользователей, для каждого из них можно установить свои собственные параметры для заполнения форм.

Следует отметить широкие возможности настройки программы. Например, RoboForm позволяет полностью настроить состав контекстного меню Internet Explorer, также доступна настройка комбинаций клавиш, применяемых программой для заполнения форм.

WebM8

Сайт разработчика: www.m8software.com
Размер дистрибутива: 1,59 Мб
Статус: Shareware

Программа позволяет работать с большим количеством различных данных для заполнения веб-форм. Основное неудобство работы с программой заключается в том, что для каждой формы нужно создать свой собственный отдельный список значений полей. А для заполнения формы следует выбрать в программе необходимый список значений полей для нее, подготовленный заранее. Поэтому с помощью WebM8 довольно сложно заполнять разные веб-формы, встречающиеся на разных веб-страницах. Но зато если вам нужно заполнять одни и те же формы, программа станет для вас идеальным решением.



Такая, казалось бы, мелочь, как заполнение бумажных бланков, может доставить множество хлопот и перерасти в настоящую проблему! Особенно, если потребность многократного заполнения бумажных бланков возникает на каждом шагу. Например, при заполнении свидетельств о рождении, школьных аттестатов, доверенностей или анкет сотрудников. Даже при наличии печатной машинки и опытной машинистки дело это долгое и хлопотное: каждый бланк необходимо вставить в машинку и заполнить необходимые поля. Если таких бланков сотни или тысячи - неизбежны ошибки с последующим их замазыванием корректором и исправлением. Самое обидное, что многие поля в таких бланках совершенно одинаковые (например, адрес, реквизиты и название организации), но их приходится заполнять каждый раз. Конечно, для одновременного заполнения нескольких бланков можно воспользоваться копиркой, но и здесь возникают проблемы:

  • Бумага для бланков чаще всего бывает очень плотной, что позволяет получить не более 2-х или 3-х копий за один проход печатной машинки.
  • Бланки могут отличаться друг от друга размером полей: сверху или снизу, слева или справа. Это приводит к тому, что текст на копиях смещается относительно заполняемых полей: получается некрасиво или совершенно "нечитабельно".
  • Если машинистка допустила ошибку - править ее приходится на всех копиях.
  • Каждый бланк все равно придется заново вставлять в печатную машинку и заполнять поля, отличающиеся от других: например, "Фамилию" и "Имя".

А на компьютере?

Действительно, почему бы не обойтись современными средствами? Тем более что большинство документов сейчас формируется автоматически с помощью отраслевого специализированного программного обеспечения и без проблем печатается на принтере. Но что делать, если нужно срочно заполнить документ, который существует только на бумаге, например, новую налоговую форму? Можно, конечно, "нарисовать" ее в Excel"е и распечатать на принтере. Процесс создания формы займет много времени, но задача, все же, решается. А вот грамоту, сертификат или диплом необходимо именно заполнить - красиво напечатать нужный текст в определенном месте бланка. Как это сделать с помощью компьютера и принтера?

Можно, в принципе, вымерить шаблон до миллиметра, создать и соответственно разметить документ в Word"е и набрать текст в определенном месте этого документа. После этого - несколько раз "пристреляться", печатая вводимую информацию сначала на чистом листе и проверяя "на свет" - попадет ли она в нужное место шаблона? Именно такая картина заполнения бланков однажды наблюдалась в одном из отделений уважаемого Сбербанка. Что удивительно, заполнялись таким образом не какие-то поздравительные открытки, которые не страшно "запороть", а векселя - ценные бумаги, испортить которые "смерти подобно". Задача осложнялась тем, что векселя различались размерами верхних полей, поэтому каждый бланк нуждался в индивидуальной "пристрелке". Лишь после этого сам ценный документ вставлялся в принтер. Не правда ли, хлопотно? А еще более смешно иметь такие проблемы с заполнением бланков в наш век высоких компьютерных технологий.

Form Pilot Office

Не стоит повторять такой печальный опыт, поскольку есть альтернатива пишущей машинке. Для заполнения бумажных форм любого вида вам понадобится компьютер, сканер, принтер и программа Form Pilot Office (далее просто Form Pilot). Заполненную в этой программе форму можно не только распечатать, но и послать по факсу или электронной почте, даже экспортировав ее в PDF перед этим, если нужно. Делается все это так. Прямо из Form Pilot"а запускается процесс сканирования бумажного бланка а, после его завершения, полученное изображение появляется в окне нового документа программы. Встроенные средства программы позволяют выровнять изображение (если оно было неровно засунуто в сканер) и обрезать "черноту", появившуюся в результате сканирования. После этого программе указывается местонахождение левого верхнего угла, и документ готов к заполнению.

Чаще всего нужно просто вбить текст. Для этого служит специальный инструмент, при выборе которого курсор мыши становится похожим на авторучку. Нужно просто щелкнуть этой авторучкой в нужном месте бланка и заполнить появившееся текстовое поле. Остается отправить набранный текст на печать, установив переключатель в позицию "Печатать на готовый бланк". Бланк бумажный при этом, естественно, должен быть в принтере. После печати он будет выглядеть точно так же, как и на экране монитора. Печатать можно и на чистый лист - весь документ с изображением бланка и набранным текстом.

Заполнение электронных форм

Заполнение бумажных бланков - это, без сомнения, "изюминка" программы Form Pilot. Но с таким же успехом в ней можно заполнять электронные формы разных форматов: PDF, HTML, DOC, XLS, TXT и другие. Для этого нужно всего лишь открыть документ в родном приложении и "распечатать" его на принтере Form Pilot Office. Вы не ослышались - принтер с таким названием появляется в списке "настоящих" устройств после установки Form Pilot"а. На самом деле документ печататься, конечно же, не будет, а только откроется в Form Pilot"е для заполнения. Точно так же можно заполнить и любую форму в графическом виде, для этого нужно просто открыть в Form Pilot"е файл с ее изображением.

Кроме текста в документ можно вставить готовую картинку, какой-то символ или что-то нарисовать самостоятельно (программа содержит стандартные инструменты рисования). Например, можно дорисовать недостающие линии в форме, "подписать" документ, вставив в него свою отсканированную подпись, штамп или печать. Часто используемые графические и текстовые объекты можно поместить на "полку" и в дальнейшем просто "стаскивать" их оттуда в другие документы. Автоматизировать и упростить создание новых документов позволяет и использование шаблонов. С их помощью можно быстро создать новый документ, используя исходную информацию из шаблона. Текстовые поля с изменяемым содержанием можно оставить в шаблоне пустыми и заполнять их при печати бланков.

Многократное заполнение бланков

Предположим, что вам нужно заполнить какие-то бумажные досье на сотрудников. Описанным выше способом вы создаете документ Form Pilot"а и сохраняете его как шаблон. Дальше этот шаблон открываете, заполняете данные для каждого сотрудника и выводите их на печать. При этом вам очень хотелось бы сохранить все введенные персональные данные. Как это сделать? Можно, конечно, каждую заполненную анкету сохранять в отдельный файл, но, если таких анкет сотни или тысячи, то впору будет и запутаться в этих файлах.

Form Pilot избавляет от подобной рутины при многократном заполнении одного и того же бланка. Программа ведет собственную базу данных по каждой из созданных форм. Если у вас 100 сотрудников, то и записей в базе по форме с анкетой можно сделать 100, и все это сохранить в одном единственном файле Form Pilot"а. Что хорошо, при заполнении базы совершенно не нужно "вбивать" одинаковые поля для каждой записи - можно создать дублированную запись на основе любого варианта заполнения формы. Останется только изменить или добавить то, что нужно, и распечатать заполненные формы.

Более того, формы можно и не заполнять вручную, если данные для них имеются в "готовых" базах. Достаточно выполнить импорт из этих баз данных (Access, Excel, DBF и других) в документ Form Pilot, и можно будет просто отправить на печать автоматически заполненные формы. А, если у вас возникнет необходимость пересортировать данные в базе, получить по ней какую-то статистику или распечатать данные по всем полям на одном листе в виде таблицы, то можно воспользоваться функцией экспорта данных из базы Form Pilot во внешнюю базу.

Связка Form Pilot + Form Filler

Для заполнения бланков, подготовленных в Form Pilot"е, существует отдельная программа - Form Filler Pilot. В этом "пилотном" аналоге "Adobe Reader"а" можно заполнить только те поля, которые были созданы в Form Pilot"е. Казалось бы, кому нужна программа с такими донельзя урезанными возможностями? Однако именно такая жесткая ограниченность Form Filler"а позволяет найти программе интересное применение.

Например, можно "раздать" эту программу клиентам для заполнения договоров и других документов (для российского рынка программа бесплатна). Печально известный факт - при заполнении форм в формате DOC клиенты могут не только случайно подпортить документ, но и умышленно изменить его часть. А вот форму, подготовленную в Form Pilot"е, нельзя ни "запороть", ни подправить, а только заполнить положенное, распечатать или прислать обратно по электронной почте.

Для автоматизированного тестирования, как и для написания ботов кликающих по ссылкам, заполняющих формы и имитирующих действия пользователя используются одни и теже программы. Программистам готовые решения не будут интересны, а вот компоненты позволяющие сделать подобное скорее всего заинтересуют. Рассмотрим бесплатные решения.

1) Селениум
Selenium, это не химический элемент селен, это инструмент для тестирования сайтов. Предназначен он в первую очередь для тестирования, т.е. можно сделать программу и смотреть как запускаются браузер, в нем робот ходит по страничкам, кликает по ссылкам, загружает файлы и т.п.

Лично мне нравится модуль под язык программирования питон, хотя доступно и для других языков, а также автономная IDE для браузера firefox.
Установка для питона достаточно простая
С сайта seleniumhq.org загружаем Selenium Client Drivers для python, распаковываем и устанавливаем как обычно, для виндовс через файл setup.py -install
Пример программы на python

#!/usr/bin/env python # -*- coding: utf-8 -*- from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys import time browser = webdriver.Firefox() # Get local session of firefox browser.get("http://www.yandex.ru") # Load page assert "Яндекс".decode("utf-8") in browser.title elem = browser.find_element_by_name("text") # Find the query box elem..decode("utf-8") + Keys.RETURN) time.sleep(0.2) # Let the page load, will be added to the API

В данном примере запускается браузер Mozilla Firefox, скрипт переходит на страницу поиска яндекса..

Для тех кому нужна простая автоматизация, например просто выполнение типовых действий, лучше использовать дополение к браузеру firefox под названием Selenium IDE
2)Watin
Watin - это тоже не утеплитель, а инструмент тестирования. Фактически это портированная под.NET библиотека Watir для Ruby
Возможностей чуть меньше, как и количество поддерживаемых браузеров. Рабочим и протестированным является только "ослик" (internet iexplorer). Библиотеку Watin можно скачать с сайта watin.sourceforge.net
Из плюсов компонента достаточно точная имитация действия пользователя, например в поле происходит именно набор символов, а не присвоение значения.
Пример программы на C#

Using System; using System.Collections.Generic; using System.Linq; using System.Text; using WatiN.Core; namespace ConsoleApplication1 { class Program { static void Main(string args) { // Windows WatiN.Core.IE window = new WatiN.Core.IE(); // Frames // Model TextField txt_login = window.TextField(Find.ByName("login")); Element __ = window.Element(Find.ByText("")); TextField txt_passwd = window.TextField(Find.ByName("passwd")); // Code window.GoTo("http://mail.yandex.ru/"); txt_login.Click(); txt_login.TypeText("ваш логин"); txt_passwd.Click(); txt_passwd.TypeText("ваш пароль"); } } }

Данная программа открывает браузер Internet Iexplorer, в нем переходит на страницу почты яндекса и в нем вписывает логин и пароль. Вход сделаете сами, там не сложно, можно просто послать браузеру клавишу Enter.

Из особенностей программирования, профиль проекта должен быть обязательно просто Net, а не ClientProfile, иначе будет ошибка. И обязательно преобразование в тип STA, в данной программе сделано строкой

Каждый день пользователям интернета приходится заполнять различные формы на сайтах, в интернет-магазинах. И это часто отнимает наше драгоценное время.

Возьмем, к примеру сайт одного туроператора. Как много полей, неправда ли?

Как много полей, неправда ли?

И надо сказать, что достаточно обременительно заходить в каждое и выбирать. Особенно, если приходится это делать несколько раз.

Ведь подбор тура по заданным вами параметрам не всегда есть в наличии и приходится корректировать уловия. Но если же вы определенно решили найти тур, который 100% соответствует вашим требованиям, и не смотря на то, что места есть не всегда, то всякий раз заново вводить одни и те же параметры для поиска будет достаточно рутинным занятием.



Sergey Nivens / Shutterstock.com

В этом поможет нам программа - конструктор скриптов, позволяющих автоматизировать любые действия в браузере, которая называется . Чтобы вы имели представление об этой программе, перечислю лишь базовый функционал.

Особенности программы XWeb Human Emulator

  • Автозаполнение форм и текстовых полей.
  • Запись и повтор работы с любым элементом сайта.
  • Сбор, сравнение, хранение и отправка данных.
  • Есть встроенный планировщик задач, который можно запускать в назначенное вами время.
  • Во время работы можно свернуть ее в систрэй. Это никак не скажется на производительности других приложений.

Как видите, даже этого достаточно, чтобы назвать программу функционально богатой.

А теперь, я на примере покажу, как можно автоматизировать процесс заполнения формы на сайте.

Автозаполнение формы

В адресную строку (выделено желтым маркером). Ниже, в правой части окна программы, подгружается веб-страница с формой для поиска и бронирования туров.

2. Выбираем в главном меню раздел «Макрос» и нажимаем на «Запись». Тоже самое можно сделать, нажав горячие клавиши Ctrl+Shift+R . Теперь программа будет записывать все наши действия в отдельный макрос.

В лицее хотели учиться 200 детей. Но школа набирала только 75 учеников. На указанном сайте шёл обратный отсчёт. В назначенное время открывалась форма и родители начинали её заполнять. Форма появлялась частями — какая-то информация подгружалась с другой страницы.

Те, кто не уложился в 1,5 минуты, оказались за бортом. Подробнее о том, .

Первое, что пришло на ум: [инструмент сделала, чтобы любой мог воспользоваться — не нужно уметь программировать].

Редактор JavaScript Mozilla Firefox

Если нажать одновременно Shift F4 , появится окошко, куда можно написать любой JavaScript и выполнить его, нажав кнопку "Запустить". Например, вот так можно вывести на экране сообщение

Alert("Моё сообщение");

Скрипт автоматического заполнения полей формы

Второго шанса у меня не было, я не знала что могли изменить разработчики, какие данные будут передаваться, поэтому перестраховалась. В редакторе запускала такой JS.

// данные заявителя requestAnimationFrame(step00); var razstart = null; function step00(timestamp) { var raz = Array.prototype.slice.call(document.querySelectorAll("input, input:not()")).filter(function(a) {return a.offsetHeight > "5"}); // если текстовые поля больше 5px if (!razstart) razstart = timestamp; if (raz.length // пока таких полей не станет больше 5, повторять функцию (надёжнее чем задержка setTimeout и setInterval) requestAnimationFrame(step00); } else { // когда таких полей станет больше 5, заполнить их raz.value = "Иванова"; raz.value = "Наталья"; raz.value = "Ивановна"; raz.value = "0000"; raz.value = "000000"; raz.value = "ОТДЕЛОМ УФМС РОССИИ ПО..."; raz.value = "01.01.2009"; for (var i = 0; i // эмулировать (имитировать) действия посетителя raz[i].dispatchEvent(new Event("change")); raz[i].dispatchEvent(new Event("change")); raz[i].dispatchEvent(new Event("keydown")); raz[i].dispatchEvent(new Event("keyup")); } requestAnimationFrame(step01); // запустить следующую функцию } } // данные о ребёнке var razstart = null; function step01(timestamp) { var raz = Array.prototype.slice.call(document.querySelectorAll("input, input:not()")).filter(function(a) {return (a.offsetHeight > "5") && (a.value != "Наталья") && (a.value != "Ивановна") && (a.value != "0000") && (a.value != "000000") && (a.value != "ОТДЕЛОМ УФМС РОССИИ ПО...") && (a.value != "01.01.2009")}); // если текстовые поля больше 5px и в них не встречается ранее заполненный текст (искл. фамилия) if (!razstart) razstart = timestamp; if (raz.length // адрес регистрации var razstart = null; function step02(timestamp) { var raz = Array.prototype.slice.call(document.querySelectorAll("input, input:not()")).filter(function(a) {return (a.offsetHeight > "5") && (a.value != "Иванова") && (a.value != "Наталья") && (a.value != "Ивановна") && (a.value != "0000") && (a.value != "000000") && (a.value != "ОТДЕЛОМ УФМС РОССИИ ПО...") && (a.value != "01.01.2009") && (a.value != "Иванов") && (a.value != "Иван") && (a.value != "Иванович") && (a.value != "01.01.2009") && (a.value != "город Самара") && (a.value != "III-ЕР") && (a.value != "000000")}); if (!razstart) razstart = timestamp; if (raz.length "5") && (a.innerHTML.indexOf("егистрац") != -1)}).dispatchEvent(new Event("click")); // эмулировать нажатие на кнопку больше 5px и содержащую текст "егистрац" requestAnimationFrame(step03); requestAnimationFrame(step04); requestAnimationFrame(step05); } } // контактные данные var razstart = null; function step03(timestamp) { var raz = Array.prototype.slice.call(document.querySelectorAll("button")).filter(function(a) {return (a.offsetHeight > "5") && (a.innerHTML.indexOf("mail") != -1)}); if (!razstart) razstart = timestamp; if (raz.length == 0) { requestAnimationFrame(step03); } else { raz.dispatchEvent(new Event("click")); var razI = Array.prototype.slice.call(document.querySelectorAll("input")).filter(function(a) {return (a.offsetHeight > "5") && (a.value == "")}); razI.value = "[email protected]"; razI.dispatchEvent(new Event("change")); razI.dispatchEvent(new Event("change")); } } // кнопка "Загрузить данные по требуемым свойствам" var razstart = null; function step04(timestamp) { var raz = Array.prototype.slice.call(document.querySelectorAll("button")).filter(function(a) {return (a.offsetHeight > "5") && (a.innerHTML.indexOf("агруз") != -1)}); if (!razstart) razstart = timestamp; if (raz.length == 0) { requestAnimationFrame(step04); } else { raz.dispatchEvent(new Event("click")); } } // флажок "Я даю согласие на обработку персональных данных" var razstart = null; function step05(timestamp) { var raz = Array.prototype.slice.call(document.querySelectorAll("input")).filter(function(a) {return a.offsetHeight > "5"}); if (!razstart) razstart = timestamp; if (raz.length == 0) { requestAnimationFrame(step05); } else { raz.checked = true; // поставить галку raz.dispatchEvent(new Event("click")); // эмулировать клик raz.dispatchEvent(new Event("click")); } }