使用AppleScript和JavaScript填充输入字段

时间:2017-12-16 19:19:04

标签: javascript html input applescript field

我搜索了堆栈溢出但提供的解决方案无效,所以我发布了这个问题:

我有以下HTML元素:

<input xmlns="http://www.w3.org/1999/xhtml" id="loginform:fPers" type="text" name="loginform:fPers" value class="inputFieldApp" maxlength="20" tabindex="4" title="Some title"> 

这是我想要使用JavaScript填写的网站中的现有HTML元素。

我正在使用AppleScript编写脚本。 该脚本只会打开Chrome但不执行任何操作: 它应该单击一个按钮并填充输入字段。

tell application "Google Chrome"
    activate

    set thescript to "document.getElementById(\"loginform:kommenbtn\").click();"

    set thescript2 to "document.getElementById(\"loginform:fPers\").value = \"112233\";"
    execute javascript thescript2
end tell

我在www.google.de上尝试了这个问题,看看问题是否是特定于网站的,但它也不起作用。我想获取该网站上的国家/地区数据。它有以下几个类:

<span class="_Vbu">​Deutschland​</span>​

我试图通过classname调用它:

tell application "Google Chrome"
    activate
    set thescript to "document.getElementByClassName('_Vbu').innerHTML"
    set myvar to execute active tab of front window javascript thescript
    display dialog myvar
end tell

我总是得到以下显示对话框内容:msng

1 个答案:

答案 0 :(得分:1)

正如评论中所指出的那样,[0]成功了。

类名是正确的,如以下屏幕截图所示: www.google.de

这是使用谷歌浏览器的方式:

tell application "Google Chrome"
    activate
    set thescript to "document.getElementsByClassName('_Vbu')[0].innerHTML;"
    set myvar to execute active tab of front window javascript thescript
    display dialog myvar
end tell

这是使用Safari的方式:

tell application "Safari"
    set thescript to "document.getElementsByClassName('_Vbu')[0].innerHTML;"
    tell document 1
        set myvar to do JavaScript thescript
    end tell
    display dialog myvar
end tell

如果您收到错误&#34;未声明myvar&#34;确保在AppleScript中找到正确的文档。

两次都在显示对话框中显示了正确的文字(&#34; Deutschland&#34;)。