Firefox火狐扩展iMacro脚本入门教程

本文详细介绍了 iMacros 浏览器扩展中使用的各种脚本指令,包括弹出提示、变量赋值、文件保存、等待时间设置、随机数生成等功能,并通过实例展示了如何操作网页元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.英文引号:' 是注释


2.
PROMPT Enter<SP>a<SP>Page<SP>Name !VAR1 NoName_Time_{{!NOW:yyyymmdd_hhnnss}}
-><SP> : 空格
->PROMPT : 弹出提示框
->!VAR1 : 把用户输入赋值到这个变量
->NoName_Time_{{!NOW:yyyymmdd_hhnnss}} : 默认值
->{{!NOW:yyyymmdd_hhnnss}} : 当前日期且格式化


3.
SAVEAS TYPE=CPL FOLDER=* FILE={{!VAR1}}
->SAVEAS : 保存文件
->TYPE=CPL : 我也不知道是啥
->FOLDER=* : 文件保存在Downloads 文件夹
->FILE={{!VAR1}} : 指定文件名,扩展名imacro会自动帮你处理


4.
WAIT SECONDS=3
URL GOTO=http://www.iopus.com/imacros/home/msg/ok.htm 
->SECONDS=3 : 等待3秒
->URL GOTO=访问url


5.
SET !VAR1 EVAL("Math.floor(Math.random()*5 + 1);")
->设置变量,其值为js生成的随机数


6.
SET !VAR1 EVAL("Math.floor(Math.random()*5 + 1);")
WAIT SECONDS={{!VAR1}}
->{{!VAR1}} : 引用值


7.
SET !VAR2 EVAL("var h=20; var s=\"{{!EXTRACT}}\"; if(3>2){MacroError(\"3大于2了\");}else null")
-> var s=\"{{!EXTRACT}}\" : 在eval中赋值的写法
-> MacroError(\"3大于2了\"); : 抛出错误的写法


8.
SET !EXTRACT NULL
->设置变量为null


9.
TAG POS=1 TYPE=B ATTR=TXT:* EXTRACT=TXT
->把 B 标签中的文本赋值给EXTRACT变量中,希望我没有说错


10.
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form1 ATTR=NAME:textfield EXTRACT=TXT
->把 id为form1的表单中的名字为textfield的文本框的值赋值给EXTRACT变量中,希望我没有说错


11.
SET !EXTRACT_TEST_POPUP NO
->不弹出窗口


12.
TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT
->td标签且存在bdytxt这个css类,且任意文本


13.
TAG POS=1 TYPE=A ATTR=TXT:HREF<SP>extracts<SP>links EXTRACT=HREF 
->抽取a标签中文本是HREF extracts links 的href值


14.
TAG POS=1 TYPE=DIV ATTR=TXT:MyTable
->获得文本为MyTable的div


15.
TAG POS=1 TYPE=DIV ATTR=TXT:MyTable
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT 
TAG POS=R-2 TYPE=TD ATTR=TXT:* EXTRACT=TXT  
->设置div中文本为MyTable的位置为1
->R3 相对于位置1而言,向前选择元素,希望我没有说错
->R-2相对于位置1而言,向后选择元素


16.
SAVEAS TYPE=EXTRACT FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}}.csv
->FOLDER=* 使用默认文件夹,默认文件夹位置是你的ff扩展imacro的选项里面设置的路径
->FOLDER=c:\yourfolder 你可以这么使用你的文件夹


17.
TAG XPATH="id('TestForm')/div/center/table/tbody/tr[2]/td[3]/select" CONTENT=$Pizza
->设置id为TestForm表单下的某个td中的下拉菜单标签为Pizza的元素选中,CONTENT是为了设置选中,注意在select中要用$号
->或许id('TestForm')的写法代替了传统的写法: //*[@id="TestForm"]


18.
TAG XPATH="id('TestForm')/descendant::select[2]" CONTENT=$Water
->id为TestForm表单下的所有的下拉菜单中的第二个,且设置其显示标签为Water的元素选中,CONTENT是为了设置选中,注意在select中要用$号


19.
TAG XPATH="id('TestForm')/descendant::input[@name='C7']" CONTENT=YES
->id为TestForm表单下的所有的input中name为C7且设置其显示内容为YES的元素,CONTENT是为了设置input的value值


20.
TAG XPATH="id('TestForm')/descendant::input[translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')='reg_code']" CONTENT=demo123 
->大写转小写,且注册每个需要转换的字母


21.
TAG XPATH="/descendant::input[@type='submit']"
->一个只有一个提交按钮的页面的快捷访问写法


22.
SET !ENCRYPTION NO
->未知


23.
FILTER TYPE=IMAGES STATUS=ON 
->开启显示网页图片


24.
SET !REPLAYSPEED MEDIUM
->设置播放速度,SLOW为慢


25.
TAG POS=1 TYPE=A ATTR=HREF:http://www.iopus.com/imacros/demo/v5/frames/subframe.htm   
->未知


26.
ONDIALOG POS=1 BUTTON=OK CONTENT=
->未知


27.
TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormName ATTR=VALUE:Popup<SP>1
->点击一个按钮,然而这个按钮不在表单中,所以:NoFormName


28.
SET !VAR1 1


TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=http://www.iopus.com


TAB OPEN NEW
ADD !VAR1 1
TAB T={{!VAR1}}
URL GOTO=http://forum.iopus.com


->先设置变量SET !VAR1 为1
->然后设置标签打开方式是新开标签
->变量自增
->TAB T={{!VAR1}},当前用户所在标签页的第二个标签
->然后在第二个标签中打开连接
->因为不想影响当前用户打开的标签页,故而新开一个标签页再打开地址,这样是用户体验友好的做法


29.
SAVEAS TYPE=CPL FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}   
SAVEAS TYPE=HTM FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}   
SAVEAS TYPE=TXT FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}  
->以三种类型保存文件


30.
URL GOTO=http://www.iopus.com/imacros/demo/v5/pdf/  
TAG POS=1 TYPE=A ATTR=TXT:*User<SP>Manual*   
ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}    
SAVEITEM  


->打开url
->点击a标签,准备下载
->定义下载文件然后下载保存,


31.
TAB T=1 
->使用当前打开的标签页


32.
SAVEAS TYPE=JPEG FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
->支持的下载类型: CPL|HTM|TXT|EXTRACT|PNG|JPEG


33.
TAB T=1     
URL GOTO=http://www.iopus.com/imacros/demo/v6/images   
SET !LOOP 2
TAG POS={{!loop}} TYPE=A ATTR=HREF:http://*.jpg  
SAVEAS TYPE=JPEG FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}
->当前标签页打开url
->设置从第二次循环开始
->{!loop}} 引用循环下标值
->一次点击页面上的图片
->以指定的格式保存


34.
STOPWATCH ID=Firstpage
URL GOTO=http://www.iopus.com/imacros/demo/v6/stopwatch.htm  
STOPWATCH ID=Firstpage   
->开启一个停表,计算打开url的时间


35.
SET !FILESTOPWATCH C:\demo-stopwatch2.csv  


STOPWATCH ID=Firstpage
URL GOTO=http://www.iopus.com/imacros/demo/v6/stopwatch.htm  
STOPWATCH ID=Firstpage   
 
ADD !EXTRACT {{!STOPWATCHTIME}}
->设置秒表执行信息的文件保存位置
->秒表记录打开url的耗时
->记录进文件中
通过使用少量的JavaScript脚本,自定义网页显示方式或表现方式。Greasemonkey是Mozilla Firefox的一个附加组件。它让用户安装一些脚本使大部分HTML为主的网页于用户端直接改变得更方便易用。随着Greasemonkey脚本常驻于浏览器,每次随着目的网页打开而自动做修改,使得运行脚本的用户印象深刻地享受其固定便利性。 技术明细: 大部分Greasemonkey用户脚本都是自行撰写,使用对某网站专用的JavaScript代码,通过文档对象模型(DOM)接口对网页内容做操作。userscripts.org维护了个Greasemonkey数据库。该数据库描述哪个网址网页对应到哪个脚本。当用户加载匹配的网页,Greasemonkey便调用相关的脚本,而该脚本便根据脚本内容改变网页的内容。Greasemonkey脚本亦能通过非网域绑定的XMLHTTP要求来查询外部HTTP资源。Greasemonkey亦遵循某用户名.user.js的格式,这让当该特定用户拜访时Greasemonkey可自动侦测并提供安装选项。除了JavaScript代码,Greasemonkey脚本包括有限可选用后数据集。该后数据集描述了脚本名称、脚本描述、网址用来区分同名脚本的地址空间、以及原本该脚本为哪些网址撰写的列表。Greasefire扩展:同Greasemonkey扩展配合使用,自动显示在userscripts.org的脚本库中是否存在可以在当前正在浏览网站上使用的脚本,如果存在Greasemonkey的猴头图标背景就会变为彩色的。右键点击猴头图标,最上面一行就是打开当前网站可用脚本列表的选项。Platypus(platypus.mozdev.org)附加组件可让用户可以编辑网页(删除或者移动某碍眼的部分)。Platypus随后将结果存成常驻的Greasemonkey脚本。 典型的脚本: 用户群已发展大量的脚本,以下是其中的一些应用:调整Gmail让Google Reader内嵌,因而提供RSS新闻订阅的选项。当联机浏览某本书时同时显示对手网站同本书价钱。去除来自某些站的广告,包括弹出视窗与Google文字广告。改变网页的版面,包括原本该网页作者未考虑到的元素大小与浏览器画面大小。自动完成窗体。浏览某些布告栏网站自动过滤特定的发帖人。增删网页上的某些功能。让用户从某些视频站点如Google Video以及YouTube存下FLV视频文件。从现行网页找寻任何RSS新闻订阅,并将它们显示在可扩展、漂浮于网页上的皮肤里。突破百度贴吧对言论内容的管制,辅助发表繁体汉字及不受贴吧服务器支持的字符,或者将文字转换为图片发表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值