javascript - 自动化 buttonclick 苹果脚本时的“缺失值”结果
问题描述
尽管我已经发布了一个已经得到很好回答的类似问题,但我仍然不明白为什么会发生此错误以及如何解决它。这是我的代码...
to ClickNameClass(theClass, elementnum)
tell application "Google Chrome"
open location "https://www.google.com"
tell active tab of front window
execute javascript "document.getElementsByClassName(' " & theClass & " ')[' " & elementnum & " '].click();"
end tell
end tell
end ClickNameClass
这是自动按钮单击的语法吗?如果是,为什么会出现错误?任何帮助表示赞赏......
解决方案
为了完整起见,我正在添加一个答案...
像您的其他问题一样,execute javascript ...
代码格式错误,在不属于它们的周围有空格,并且在不应该存在的周围className
有单引号。indexValue
以下clickElementByClassName
处理程序已从您最初发布的内容重写,将打开目标 URL,在这种情况下为“ https://www.google.com ”,等待页面加载,然后单击Google 上的登录按钮主页。
on clickElementByClassName(thisURL, className, indexValue)
tell application "Google Chrome"
open location thisURL
repeat until (loading of active tab of front window is false)
delay 0.1
end repeat
tell active tab of front window
execute javascript "document.getElementsByClassName('" & className & "')[" & indexValue & "].click();"
end tell
end tell
end clickElementByClassName
clickElementByClassName("https://www.google.com", "gb_7f gb_Fa gb_Jb", 0)
查看脚本编辑器中的回复窗格,它显示:
tell application "Google Chrome"
open location "https://www.google.com"
get loading of active tab of window 1
--> true
get loading of active tab of window 1
--> true
get loading of active tab of window 1
--> true
get loading of active tab of window 1
--> false
execute active tab of window 1 javascript "document.getElementsByClassName('gb_7f gb_Fa gb_Jb')[0].click();"
--> missing value
end tell
Result:
missing value
正如您所看到的,在页面完成加载之前不会处理代码execute
行,并且在 的每一侧或单引号周围没有空格,就像使用原始编码一样。className
indexValue
URL
我还从处理程序中删除了硬编码,从而使其更加通用和可重用。
如您所见,结果是missing value
并且在这种情况下并不是一件坏事,因为在测试中我被带到了登录 -本示例中所需的Google 帐户页面。
推荐阅读
- django - 从另一个开发服务器端口访问时,Django 请求会话值发生变化
- typescript - NestJs 中的异常处理程序
- javascript - 使用(受控)日期输入的浏览器行为差异
- flutter - 颤振警报对话框 setState 没有改变
- python - 如何拥有另一种编程语言的子程序
- python - 如何从列表中删除所有元素,该列表是python中同一列表中另一个更大元素的子序列?
- artificial-intelligence - 软件工程中的人工智能分类
- flutter - 如何在小部件颤动中设置表单验证
- android - 运行测试用例时在活动中获取空指针对象注入对象
- java - 野蝇 | 不考虑杰克逊多态性