一、工具选择
最近接到一个项目,需要将excel数据逐条录入、保存到网页中。经过搜集资料,能实现功能的大概有以下几种方式,按键精灵、autoit、imacros、python+selenium。
按键精灵:国产模拟键鼠工具,以前用过,存在莫名其妙的bug且广告太多,放弃。
autoit:国外模拟键鼠工具,basic类编程风格,好像很长时间未更新,放弃。
imacros:兼容firefox、chorme、internet explorer8以上版本,属于浏览器内部插件,经测试完全满足需要。
python+selenium:专业级别的页面控制能力,功能强大,待有需求再详细研究。
以上方式都是能给浏览器增加类似“宏”的功能,可以这样理解:按键精灵和autoit属于“外挂”,imacros属于“内挂”,python+selenium属于“内挂外挂全功能”。
二、代码部分
imacros是浏览器插件,本身自带的函数就非常强大,用的代码非常少,非常适合我...hoho。
'打开网址www.***.com。
URL GOTO=http://www.***.com
'激活将第1个标签页
TAB T=1
'对于使用框架结构的网页必须用此语句定位到框架,否则会出现找不到标签。
FRAME F=7
'设置csv数据库位置e:\linquan.csv,excel文件另存为csv格式。
SET !DATASOURCE e:\linquan.csv
'设置csv文件共28列,可选。
SET !DATASOURCE_COLUMNS 28
'设置从第2行开始循环。
SET !LOOP 2
'获取数据行内容{{!LOOP}}为imacros的变量格式。
SET !DATASOURCE_LINE {{!LOOP}}
'填入数据
TAG TYPE=INPUT:TEXT FORM=NAME:name ATTR=NAME:name1 CONTENT={{!COL1}}
TAG TYPE=INPUT:TEXT FORM=NAME:name ATTR=NAME:name2 CONTENT={{!COL2}}
TAG TYPE=INPUT:TEXT FORM=NAME:name ATTR=NAME:name3 CONTENT={{!COL3}}
...
'点击保存按钮
TAG TYPE=INPUT:BUTTON FORM=NAME:name ATTR=TXT:保存
三、其他常用命令
'下第1次出现对话框的处理方式,本人没研究明白,望高手解决。
ODIALOG POS=1 BUTTON=YES
'等待3秒
WAIT SECONDS=3
'暂停程序,本项目用此命令暂停程序,给人工审核的,点击面板continue继续执行。
PAUSE
四、以上方法是本人实践认为是最简单的方式,如果有更强大操作的需要,将会选择python+selenium方式。