【问题标题】:AppleScript clickID script problemsAppleScript clickID 脚本问题
【发布时间】:2019-11-27 21:18:03
【问题描述】:

好的,我已经在这个问题上修修补补了一个星期,但无济于事。注意:我是脚本的初学者。

我正在尝试制作一个导航到网站的脚本,单击搜索按钮(它会展开搜索栏以便输入),然后输入搜索词。

最终,我希望它开始将结果导出到文档中...但我似乎无法使 ID 工作或任何东西...是因为它是一种特殊类型的搜索栏,而不是标准?

我在互联网上使用了各种指南,以下是我所管理的:

to clickID("id")
    tell application "Safari"
        do JavaScript "document.getElementById('theid').firstElementChild.click();" in document 1
    end tell
end clickID

-- Opening Safari to url

tell application "Safari"
    activate
end tell

open location "url"

delay 3

tell application "System Events"
    -- Open URL
    tell application process "Safari"
        delay 3
        clickID("theid")
    end tell
end tell

【问题讨论】:

  • 你的clickID处理程序需要定义一个参数而不是一个字符串,然后需要使用它。您从哪里获得元素 ID?
  • 通过检查页面并尽我所能破译我需要点击的 ID。你的意思是第一行代码:to clickID("id") 如果那里没有字符串,那又是什么?

标签: javascript macros applescript


【解决方案1】:

在处理程序定义中,声明的参数(如果有)将保存传递给它的值。在您发布的 sn-p 中,字符串“theID”将被传递给 clickID 处理程序,并且参数变量将在您想要使用该字符串的任何地方使用,例如:

to clickID(someID)
    tell application "Safari"
        do JavaScript "document.getElementById(\"" & someID & "\").firstElementChild.click();" in document 1
    end tell
end clickID

open location "url" -- activates default application

tell application "System Events"
    tell application process "Safari" -- click element
        delay 3
        clickID("theid")
    end tell
end tell

请参阅AppleScript Language Guide 了解更多信息。

【讨论】:

    猜你喜欢
    • 2010-12-12
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    相关资源
    最近更新 更多