使用Applescript和Javascript在Chrome中填写表单

时间:2016-01-11 21:37:17

标签: javascript google-chrome applescript

完全披露:我是一个新手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窗口/标签是一个问题。

我希望我的错误相对简单/易于修复。如果不是 - 如果在此字段中输入一些文本并且“点击”提交/搜索要复杂得多,那么我可以将其包装起来并手动输入该网站上的单词。

非常感谢您提前寻求帮助。

干杯

1 个答案:

答案 0 :(得分:0)

您可能已经解决了这个问题,但我有两种可能的解决方案

  1. 传递完整的网址,例如
    http://www.latvianforyou.com/cgi-bin/l.pl?word=1234

  2. 使用safari,因为我认为Chrome现已破损 将thejavascript设置为" correct_formatted_js"
    告诉申请" Safari"
    激活
    将JavaScript(thejavascript&";")作为文档1中的文本 告诉你

    JAYTEE