使用javascript with applescript在网页上提交数据

时间:2010-12-16 18:35:33

标签: javascript applescript

我正在尝试使用javascript(do 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 个答案:

答案 0 :(得分:4)

我有一个在我的博客上填写联邦快递表格的例子。

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

在该脚本中,我不提交表单(因为我通常想先检查提交内容)。我最近修改它自动提交,虽然我还没有写过那个脚本。然而,添加很简单。在FedEx,您只需执行以下操作即可。 (您可以将其添加到上面链接的脚本中)

Safari.do_JavaScript(u“document.getElementById('completeShip.ship.field')。click()”,in_ = FEdoc)

按ID获取提交按钮,然后单击它。如果网站使用ID,您应该可以轻松地将其修改为您的脚本。

请注意,以上所有内容均使用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