首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不能使用JavaScript在AppleScript中使用do JavaScript "document.getElementById('theID').value =‘item1’;

不能使用JavaScript在AppleScript中使用do JavaScript "document.getElementById('theID').value =‘item1’;
EN

Stack Overflow用户
提问于 2017-11-17 19:53:50
回答 1查看 831关注 0票数 0

我不能使用以下代码片段在JavaScript编辑器中使用AppleScript:

在第一个窗口的当前选项卡中执行JavaScript "document.getElementById('theID').value =‘item1’“

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tell application "Google Chrome"
    open location "https://www.randomwebsite.com"
    set theScript to "document.getElementById('term_input_id').value ='Spring 2015';"
do JavaScript theScript in current tab of first window
end tell

由于某些原因,其他人也会这样做,但请注意,这正是我想调用的javascript函数!

任何人都知道如何消除语法错误:行的预期结束,等等,但是找到了标识符。(AppleScript然后在上面的代码中高亮显示单词JavaScript )

EN

回答 1

Stack Overflow用户

发布于 2017-11-18 05:30:28

你说,“出于某种原因,其他人让它工作”,但你得到了“语法错误预期行尾等,但找到了标识符。”,所以很明显,如果你甚至不能让它编译没有错误的脚本编辑器,那么任何人都绝对不可能得到的代码,原来,在谷歌Chrome!

  1. do JavaScript语法是针对Safari的,而不是Google。对于Google来说,它是execute javascript,但是修改它并不能修复您的代码。然后出错“语法错误,行尾等,但是找到了类名。”并高亮tab
  2. 如果你看谷歌Chrome的AppleScript字典,它不支持current tab,它是active tab,而修复它不能修复您的代码。然后用'AppleScript错误,Google得到了一个错误:无法将应用程序"Google“转换为specifier.‘类型。”并高亮execute javascript theScript in active tab of front window

那么,接下来需要做什么才能让它不出错地编译呢?下面的重新处理代码具有从原始代码中进行的必要更改,以便在编译过程中不出错。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tell application "Google Chrome"
    open location "https://www.randomwebsite.com"
    set theScript to "document.getElementById('term_input_id').value = 'Spring 2015';"
    execute active tab of front window javascript theScript
end tell

然而,仅仅因为可以在没有错误的情况下编译,并不一定意味着它可以在没有问题的情况下工作!

open location "https://www.randomwebsite.com"命令运行时,它后面的代码行可以执行,而不考虑目标网页已完成加载,因此脚本可能会失败。

您需要添加适当的代码,以等待open location ...命令完成,然后再继续执行脚本的其余部分。

在互联网上搜索,你会找到各种方法来等待页面完成加载,然而,一个给定的方式与这个网站工作可能不适用于该网站。因此,您需要测试目标网站的工作原理。

与谷歌Chrome协同工作的一种通用方法是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
repeat until (loading of active tab of front window is false)
    delay 0.2 --    # The value of the 'delay' command may be adjusted as appropriate.
end repeat

因此,您重新编写的代码现在看起来如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tell application "Google Chrome"
    open location "https://www.randomwebsite.com"
    repeat until (loading of active tab of front window is false)
        delay 0.2
    end repeat
    set theScript to "document.getElementById('term_input_id').value = 'Spring 2015';"
    execute active tab of front window javascript theScript
end tell

当然,这并不意味着所有事情都会顺利进行,您有责任在需要时添加适当的错误检查和处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47362315

复制
相关文章
JSON 在JavaScript 中的使用。
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
愷龍
2022/10/06
10K0
[译] 在 JavaScript 中通过 queueMicrotask() 使用微任务
原文:https://developer.mozilla.org/en-US/docs/Web/API/HTMLDOMAPI/Microtask_guide
江米小枣
2020/06/15
3.2K0
在HTML中使用JavaScript
前言 JavaScript是浏览器的内置脚本语言。当网页中嵌入了JavaScript脚本,浏览器加载网页时,就会执行脚本,从而操作浏览器,实现各种动态效果 JavaScript代码嵌入网页的方法 1、<script>元素直接嵌入代码 <script type="text/javascript"> function sayHello() { alert("hello!"); } </script> 2、<script>元素加载外部脚本 <script type="text/javascript" sr
pitaojin
2018/05/25
1.4K0
JavaScript中如何使用递归?
在JavaScript程序中,函数直接或间接调用自己。通过某个条件判断跳出结构,有了跳出才有结果。
Javanx
2019/09/04
2K0
JavaScript中如何使用递归?
在JavaScript中使用装饰器
Decorator装饰器是ES7的时候提案的特性,目前处于Stage 3候选阶段(2022年10月)。
luciozhang
2023/04/22
5400
在JavaScript中使用装饰器
JavaScript中怎么使用JSON?
JSON 是一种语法,是一种完全独立于编程语言的文本格式。可以把 任意编程语言表示的数据类型 转换成 JSON格式的字符串,也可以反向转换。这样不同编程语言,就可以通过 JSON 格式来共享数据。JSON 的详细语法规则,可以看下官网介绍!
Learn-anything.cn
2021/11/26
2.1K0
Javascript中数组的使用
Array在Javascript程序开发中是一个经常使用到。一个数组可以存储Javascript支持的任何数据类型。 1.基本知识点 //创建一个对象并初始化它 var preInitArray = new Array("First Item", "Second Item", "Third Item"); for (var i = 0; i < preInitArray.length; i++) { console.log(preInitArray[i]); }
八哥
2018/01/18
8.4K0
二、在HTML中使用JavaScript
defer属性可以让脚本在文档完全呈现之后再执行,延迟脚本总是按照指定它们的顺序执行。
jojo
2022/03/21
8140
JavaScript——JavaScript的使用方式
1. 行内式(主要用于事件) <input type="button" name="" onclick="alert('ok!');"> 2. 内嵌式 <script type="text/javascript"> alert('ok!'); </script> 3. 外链式 <script type="text/javascript" src="js/index.js"></script> 4. 小结 JavaScript的使用方式有三种,分别是: 行内式 内嵌式 外链式
落雨
2022/03/31
29.8K0
如何使用LinkFinder在JavaScript文件中查找网络节点
LinkFinder是一款功能强大的Python脚本,在该工具的帮助下,广大研究人员可以轻松在JavaScript文件中发现和扫描网络节点及其相关参数。这样一来,渗透测试人员和漏洞猎人将能够快速在测试的目标网站伤收集新的隐藏节点了。
FB客服
2023/08/08
4820
如何使用LinkFinder在JavaScript文件中查找网络节点
jxa快速入门,Javascript已加入AppleScript全家桶
因为工作环境基本是以跨平台为主,所以纯mac本地化的AppleScript一直关注是不够的,前几天找资料发现AppleScript也在迅速的进步着,目前已经对Javascript做了比较好的支持------当然早就支持,现在只是感觉上更好了。这项技术的全称是JavaScript for Automation,算一项比较新的技术,简称JXA。 本博不是学术研究性的,因此完全从实用出发,力求给出自己的实用性见解而不是长篇大论引用官方文字。这里给出我总结的几个特点: 脱离脚本编辑器Script Editor运
俺踏月色而来
2018/06/20
2.3K0
使用AppleScript批量删除Mac中的信息
1 mac自带app:“脚本编辑器” 2 原生应用「Accessibility Inspector(需安装 Xcode)」用以定位目标控件的类型,方便在打印的子控件中查找
PHP开发工程师
2022/03/09
1.1K0
document.getElementById使用[通俗易懂]
getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。
全栈程序员站长
2022/09/14
4.5K0
在Typescript & Javascript 中使用Sass变量
可以直接使用import styles from 'yourFileName.scss';
星宇大前端
2021/02/22
3.3K0
JavaScript中this关键字使用
在Web开发中,前端掌握JavaScript,后台掌握PHP成为一个趋势。当然后台掌握C#/Java,当然还有Python,Ruby其中的一种,都是可以的。其实现在成熟的企业开发,移动mobile web开发都属于Web开发的大家庭。不过企业开发更多注重业务的逻辑性,同时要保持产品开发的稳定性,同时易于和其他现有的产品集成。所以企业级开发中级开发中使用Java来做的企业特别多。 JavaScript作为一门优秀的前端开发语言,当然现在Node.js也将JavaScript开发扩展到服务器上。目前国内和国外都
八哥
2018/01/18
7790
JavaScript中为何要使用prototype
在JavaScript学习和工作中,或多或少会接触一些底层的JavaScript知识。比如下面四个基本概念:
八哥
2022/05/11
3370
JavaScript中的Promise使用详解
熟悉前端开发的都一定写过回调方法(callback),简单的说,回调方法是一个函数被作为参数传递给另一个函数,比如下面的代码
青年码农
2020/11/11
1.4K0
JavaScript 中 this 的使用技巧总结
在 js 中,this 这个上下文总是变化莫测,很多时候出现 bug 总是一头雾水,其实,只要分清楚不同的情况下如何执行就 ok 了。
哲洛不闹
2018/09/18
8750
JavaScript 中 this 的使用技巧总结
在JavaScript里面使用WebSocket的步骤
1:创建 WebSocket 对象:使用 new WebSocket() 构造函数创建 WebSocket 对象,并传入要连接的 WebSocket 服务器的 URL。
王小婷
2023/09/18
9770
JavaScript使用(笔记)
//当前点击的标签添加样式,同级别其他标签移除样式 $(this).addClass('hover').siblings().removeClass('hover'); //执行完改Ajax后执行下一步 同步 async:false //{%$argv(0)%}(公司写法)获取页面传入的id id="title_1" var type = "{%$argv(0)%}"; if (type != "") { $("#title_" + type + "").click(); } //默认点击第一个
小语雀网
2022/05/06
2.5K0

相似问题

javascript document.getElementById().value

34

Javascript -使用带有变量的document.getelementbyid().value

233

AppleScript - do JavaScript返回缺失的值

10

Applescript / Javascript -使用Javascript点击链接?

10

javascript document.getElementById().value只能处理数字,不能处理字符串

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文