按钮在Safari中使用Applescript按名称单击

时间:2015-11-17 22:16:48

标签: javascript safari applescript

我正在关注以下教程:http://cubemg.com/applescript/how-to-click-a-button-on-a-web-page-with-applescript/

我正在尝试创建一个加载网页并按名称单击按钮的脚本。 我的代码看起来像这样

tell application "Safari"
    activate
    do JavaScript "window.open('http://www.google.dk')" in document 1   
end tell
to clickName(theName, elementnum)
    tell application "Safari"
        do JavaScript "document.getElementsByName(‘" & theName & "‘)[" & elementnum & "].click();" in document 1
    end tell
end clickName
clickName("btnI", 0)

它只是在safari中打开页面而什么都不做。 Applescript不断告诉我“缺失价值”,但即使我只为打开特定网站运行代码,它也会这样做。 我创建了一个类似的代码,用于在表单中输入值,但结果是相同的。

有没有人有同样的问题?

我已多次检查按钮的名称,并在多个不同的网站上进行了尝试。

1 个答案:

答案 0 :(得分:1)

您的脚本中有错字/错误。这一行使用单引号的“智能引号”。这样:

do JavaScript "document.getElementsByName(‘" & theName & "‘)[" & elementnum & "].click();" in document 1

应该是这个

do JavaScript "document.getElementsByName('" & theName & "')[" & elementnum & "].click();" in document 1

另外,加载网页后确实需要延迟,以确保元素已加载。