【发布时间】:2016-01-11 21:37:17
【问题描述】:
完全披露:我是 Applescript 的新手(和 Javascript)。我花了几个小时试图自己解决这个问题,搜索互联网并尝试 Applescript 的许多变体,但没有运气。在没有帮助的情况下,我走到了死胡同。
我正在修改一个 Applescript,它可以打开几个网页来查找拉脱维亚语中的一个单词——我正在学习的一种语言。我正在搜索的单词出现在大多数页面的 URL 中(即谷歌翻译);但是,我发现的最好的词典使用简单的形式输入单词——我无法在 URL 中嵌入单词。所以,我一直在试图弄清楚如何在表单上输入单词并“点击”提交(Meklēt=在相关页面上搜索)。
有问题的网站是:http://www.latvianforyou.com/cgi-bin/l.pl
这是我尝试过的 Applescript 的最新版本:
tell application "Google Chrome"
activate
delay 3
execute javascript "document.getElementsByName('word').childNodes[0].value={{!VAR1}}"
execute javascript "document.forms[0].submit()"
end tell
脚本似乎没有做任何事情。我在 Applescript 编辑器中得到了一个“缺失的变量”;我不确定这是一个错误。我读过它只是意味着返回了一个空值。
VAR1 是我正在搜索/查找的词,我知道该变量正在工作 - 至少在我正在搜索的其他网站的 URL 中。无论如何,我也尝试过直接输入搜索词:“...value="akmens"" 和 "...value=123""(akmens 在拉脱维亚语中是“石头”)。但是,没有输入任何内容搜索字段。
我使用 Chrome 中的 Inspect 功能来查找输入字段的名称,即“word”:()。
该页面确实使用我的 Applescript 打开;它是新 Chrome 窗口中的最后一个选项卡(该 Chrome 窗口中的其他选项卡是我正在搜索的其他站点)。上面的脚本切换到 Chrome 到正确的选项卡 - 我遇到问题的网站。 IOW - 我不认为选择正确的 Chrome 窗口/标签是个问题。
我希望我的错误相对简单/易于修复。如果不是 - 如果在此字段中输入一些文本并“单击”提交/搜索要复杂得多,那么我可能只是将其打包并在该站点上手动输入单词。
非常感谢您的任何帮助。
干杯
【问题讨论】:
标签: javascript google-chrome applescript