首页 > 解决方案 > 在 web 表单中输入值并使用 applescript 按下返回键

问题描述

我想在网络表单上输入一个值,然后按 Enter,因为没有按钮可以点击页面

我无法提供任何 URL,因为它是一个私人网络工具。

搜索框是一个简单的网络表单,我在其中输入一个值,然后按 Enter 对结果进行收费。

我已经编写了在框中添加值的脚本部分,这没问题。我的问题是为页面上的按键返回工作找到一种方法。

set theValue to "1111111"

to inputByID(theId, theValue)

    tell application "Safari"

        do JavaScript "document.getElementById('" & theId & "').value = '" & theValue & "'" in document 1

    end tell

end inputByID

inputByID("TextField", theValue)

所以这很完美。然后,我尝试Keystroke return在我能想象到的所有地方添加一个,但我总是收到相同的错误消息:

Result:
error "Safari got an error: Can’t get keystroke \"
\"." number -1728 from keystroke "
"

我不确定这里是否还有其他事情要做。查看页面源我找不到任何相关信息,这就是我真的想走这条路的原因。

标签: applescript

解决方案


要在您的场景中使用击键,必须存在两个条件。

  • Safari需要处于最前面且处于活动状态。
  • 光标必须位于可以接收输入的文本字段中。

AppleScript 代码将是:

tell application "Safari" to activate
delay 0.5
tell application "System Events" to keystroke return

使用System Events,对于return,您还可以使用:

tell application "System Events" to key code 36

请注意,这些delay 命令允许应用程序在发送击键之前处于最前面并处于活动状态。必要时进行调整。


推荐阅读