applescript - 在 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 "
"
我不确定这里是否还有其他事情要做。查看页面源我找不到任何相关信息,这就是我真的想走这条路的原因。
解决方案
要在您的场景中使用击键,必须存在两个条件。
- 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
命令允许应用程序在发送击键之前处于最前面并处于活动状态。必要时进行调整。
推荐阅读
- rest - 如何在azuracast中通过api创建角色
- jquery - 第二次点击按钮运行jquery函数(不是第一次)
- python - 有没有办法传递一个 lambda 函数来引用字典理解中的数据框?
- excel - 为什么我的索引匹配公式与嵌套的间接引用返回为#REF ... perrrrplexed
- google-cloud-platform - `gsutil equivalent` missing in GCP User Interface
- python - 将具有列表形式值的数据框列转换为同一列中的字符串
- c++ - 如何编译 Quake 2 源代码?
- javascript - 反应计时器中的访问时间
- r - 从 R 中的列表中获取行名
- go - 如何在不同的测试文件中共享项目