我搜索了堆栈溢出但提供的解决方案无效,所以我发布了这个问题:
我有以下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
答案 0 :(得分:1)
正如评论中所指出的那样,[0]
成功了。
这是使用谷歌浏览器的方式:
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;)。