海运的博客

Selenium处理验证码

发布时间:September 20, 2015 // 分类:PHP,iMacros // No Comments

截取整个屏幕,获取验证码坐标及大小,然后再截取验证码:

<?php
$element = $webDriver->findElement(
  WebDriverBy::id('J-checkcode-img')
);
$element_width = $element->getSize()->getWidth();
$element_height = $element->getSize()->getHeight();
 
$element_src_x = $element->getLocation()->getX();
$element_src_y = $element->getLocation()->getY();
 
$webDriver->takeScreenshot('screenshot.png');
$src = \imagecreatefrompng('screenshot.png');
$dest = \imagecreatetruecolor($element_width, $element_height);
 
imagecopy($dest, $src, 0, 0, $element_src_x, $element_src_y, $element_width, $element_height);
imagepng($dest, './captcha.png');

iMacros使用Xpath采集示例

发布时间:July 24, 2013 // 分类:iMacros // 1 Comment

iimPlay("CODE:URL GOTO=http://baidurank.aizhan.com/baidu/115.com/position/") 
for (var i=1;i<27;i++)
{
iimSet("i",i);
var macro;
macro ="CODE: \n";
macro +="TAG XPATH=\"id('content')/div[1]/div[2]/div[4]/table/tbody/tr[{{i}}]/td[5]/a\" EXTRACT=HREF \n";
macro +="'PROMPT {{!EXTRACT}} \n";
macro +="'WAIT SECONDS=3 \n"
macro +="SAVEAS TYPE=EXTRACT FOLDER=R: FILE=test.csv \n";
iimPlay(macro);
}

推荐Firefo查看Xpath扩展:
XPath Checker:通过鼠标右键快速查看所在区域Xpath。
FirePath:Firebug的一个Xpath扩展,推荐。

iMacros读取和采集数据写入文件

发布时间:June 26, 2013 // 分类:iMacros // No Comments

读取CSV文件,按行和列读取:

'csv文件
SET !DATASOURCE Address.csv
'开始于第几行
SET !DATASOURCE_LINE {{!LOOP}}
'变量COL针对相应的列
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:fname CONTENT={{!COL1}}

采集网页数据并保存到CSV文件:

URL GOTO=http://www.baidu.com/
TAG POS=1 TYPE=A ATTR=HREF:http://baike.baidu.com EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}<SP>Ext.<Sp>
SET !EXTRACT NULL
TAG POS=1 TYPE=A ATTR=HREF:http://wenku.baidu.com EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
ADD !EXTRACT {{!var1}}
ADD !EXTRACT {{!var2}}
SAVEAS TYPE=EXTRACT FOLDER=R: FILE=test.csv

iMacros采集参数:

TYPE:HTML标签
XPATH:和TYPE二选一
ATTR:标签属性,*表示所有,可用TXT(网页显示的文字),HREF,Class/ID名称
POS:第几个匹配
EXTRACT:采集数据类型,可选:TXT,HREF,HTM等

此内容被密码保护

发布时间:June 23, 2013 // 分类:iMacros // No Comments

请输入密码访问

iMacros实现LOOP循环

发布时间:June 20, 2013 // 分类:iMacros // No Comments

1.通过iMacros LOOP变量实循环,在运行处选择播放循环,从LOOP值到最大值。

VERSION BUILD=8300326 RECORDER=FX
TAB T=1
SET !ERRORIGNORE YES
SET !TIMEOUT_STEP 1
SET !LOOP 1
URL GOTO= https://www.haiyun.me

2.通过JS For循环:

for (var i=1;i<100;i++)
{
var macro;
macro ="CODE:"+"\n";
macro +="SET !TIMEOUT_STEP 1"+"\n";
macro +="URL GOTO=https://www.haiyun.me"+"\n";
//iimSet("i",i);
iimPlay(macro);
}

Firefox下有多个JS任务同时执行需以不同的配置文件/进程启动:

"C:\Program Files\Firefox\firefox.exe" -P -no-remote

JS错误处理:

try {
}
catch(e){
}
分类
最新文章
最近回复
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作