Использование JavaScript с AppleScript для отправки данных на веб-страницу - PullRequest
2 голосов
/ 16 декабря 2010

Я пытаюсь зайти на сайт, используя javascript (сделать javascript) в виде написанного appleScript. Мне удалось проанализировать данные с помощью (document.getElementById), но я не могу найти ничего, чтобы можно было отправлять данные для ввода данных на веб-страницу или для входа в систему.

Элементы, с которыми я работаю:

<input style="width:80%;" type="text" name="ssn" id="ssn">

<input type="password" name="password" style="width:80%;">

<input type="radio" value="current" name="period" checked="checked">

<input type="submit" value="Submit" name="Action">

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

Если так или иначе есть, любая помощь будет очень признательна.

Спасибо

1 Ответ

4 голосов
/ 18 декабря 2010

У меня есть пример заполнения форм в FedEx в моем блоге.

http://www.libertypages.com/clarktech/?page_id=1570

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

Safari.do_JavaScript (u "document.getElementById ('completeShip.ship.field'). Click ()", in_ = FEdoc)

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

Обратите внимание, что все вышеперечисленное использует Appscript и Python.(Моя любимая среда сценариев) Чтобы сделать это в чистом Applescript, просто измените вышеприведенное на что-то вроде

tell application "Safari"
  activate
  weight = "2"
  set doc to document "FedEx | Ship Manager | Shipping"
  do JavaScript "document.forms['shipActionForm']['psd.mps.row.weight.0'].value = '" & weight & "'" in doc
  do JavaScript "document.getElementById('completeShip.ship.field').click()" in doc
end tell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...