API - 使用Default对象 - 基础篇
在编写Spider Studio脚本时, Default对象是最常用最重要的一个, 其类型定义如下:
Webus3.Spider.Controls.JQueryBrowser Default;
下面介绍它的基本用法:
1. Navigate
void Navigate(string urlString)
使浏览器打开指定urlString指定的网页.
2. Ready
void Ready()
主页面加载完成即返回. 如果页面采用ajax进行异步加载, Ready不会刻意等待所有ajax数据加载完成, 此时请用 bool Ready(string jqueryExpression).
3. Ready - 针对ajax
bool Ready(string jqueryExpression)
和普通Ready相比, 此重载方法将会判断 jqueryExpression 指定的页面节点是否存在, 如果不存在则等待, 如果存在则立即返回. 它可以用于Ajax的场景, 比如某个新闻页面的评论节点 #comment 是动态加载的, 我们可以利用
Ready("#comment") 来控制脚本等待到评论成功加载之后才继续运行.
4. SelectNodes / SelectSingleNode
List<JQueryContext> SelectNodes(string jQueryExpression)
JQueryContext SelectSingleNode(string jQueryExpression)
这两个方法是 Spider Studio 中出镜率最高的API. 它们的作用是利用JQuery在页面选择节点, 并以JQueryContext的形式返回.
下面通过一系列例子来说明如何使用:
4.1 获取页面所有链接
Default.SelectNodes("a");
4.2 获取ID为 #name 的节点
Default.SelectSingleNode("#name");
4.3 获取样式为 class1 的 div
Default.SelectNodes("div.class1");
4.4 获取 #name 节点下面所有的链接
Default.SelectNodes("#name a");
4.5 获取包含 "下一页" 的链接
Default.SelectSingleNode("a:contains(\"下一页\")");
更多JQuery语法请参见: http://api.jquery.com/category/selectors/
5. JQueryContext的基本用法
JQueryContext是一个包含了JQuery上下文的节点. 我们可以用它完成页面模拟操作, 或者在它的有效范围内继续用JQuery定位子节点.
5.1 模拟操作:
void Click();
void DoubleClick();
void Show();
void Hide();
void KeyPress();
void KeyDown();
void KeyUp();
顾名思义, 就不用多解释了.
5.2 获取和设置属性
string Html(); //获取innerHtml
void Html(string html); //设置innerHtml
string Text(); //获取innerText
void Text(string text); //设置innerText
string Attr(string name); //根据属性名获取属性值
void Attr(string name, string value); //设置属性
5.3 JQueryContext上的Selector
JQueryContext SelectSingleNode(string jqueryExpression);
List<JQueryContext> SelectNodes(string jqueryExpression);
JQueryContext Next();
List<JQueryContext> NextAll();
SelectSingleNode / SelectNodes 和上面一样, 就不用多说了.
Next - 后一个同级节点
NextAll - 后面所有的同级节点
API - 使用Default对象 - 基础篇的更多相关文章
- rcGIS API for JavaScript之基础篇(一)
ArcGIS API for JavaScript之基础篇(一)上一篇文章介绍了ArcGIS 10.4的安装指南也包含了所需要资源,需要的同学可以去公众号中查找.最近几天学习了2D地图.3D地图以及图 ...
- java类与对象基础篇
java面向对象基础篇 面向对象程序设计(Object Oriented Proframming ,OOP) 面向对象的本质是:以类的方式组织代码,以对象的方式组织(封装)数据. 面向对象的核心思想是 ...
- day6-面向对象基础篇
一.面向对象引子及概念 结合编程的一些理论知识和实践,可以总结出目前存在以下编程模式: 1. 面向过程 按照业务逻辑和实现过程步骤来逐步垒代码,代码编写的逻辑即对应于实际实现的步骤过程,核心是过程两个 ...
- py---------面向对象基础篇
引子 你现在是一家游戏公司的开发人员,现在你需要开发一款叫做<人猫大战>的小游戏,你就思考呀,人猫大战,那至少需要两个角色,一个是人,一个是猫,且人和猫有不同的技能,比如人拿棍打狗,狗可以 ...
- laravel JWTAuth实现api接口鉴权(基础篇)
官网:https://jwt-auth.readthedocs.io 参考:https://learnku.com/articles/10885/full-use-of-jwt#99529f 1.to ...
- ASP.NET Web API 基础篇1
ASP.NET Web API 直到我膝盖中了一箭[1]基础篇 无题 蓦然回首,那些年,我竟然一直很二. 小时候,读武侠小说的时候,看到那些猪脚,常常会产生一种代入感,幻想自己也会遭遇某种奇遇,遇到悬 ...
- VBS基础篇 - 对象(1) - Class对象
VBS基础篇 - 对象(1) - Class对象 相信对JAVA有一定了解的朋友一定对类这个名词不陌生,但是大家可能没有想过在VBS中使用Class类吧,其实Class类在自动化测试中是相当常用的 ...
- 我拖拖拖--H5拖放API基础篇
不要搞错,本文不是讲如何拖地的.看过<javascript精粹>朋友应该知道,他实现拖放的过程比较复杂,现在时代不同了,我们用H5的新的拖放API就能非常方便的实现拖放效果了.最近在园子见 ...
- VBS基础篇 - 对象(3) - FileSystemObject对象
VBS基础篇 - 对象(3) - FileSystemObject对象 文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级 ...
随机推荐
- angularjs库及ionic库下载地址
angularjs库下载地址: 下载地址:https://code.angularjs.org/ 引用地址:http://www.bootcdn.cn/angular.js/ ionic库下载地址: ...
- webpack 引入jquery和第三方jquery插件
1.引入jquery jQuery 直接在 html 中引入,然后在 webpack 中把它配置为全局即可. index.html: <!DOCTYPE html> <html> ...
- js获取事件源及触发该事件的对象
怎样获取事件源及触发该事件的对象,方法有非常多,js中能够通过event来实现.以下有个不错的演示样例,感兴趣的朋友能够參考下: function myfunction(event) { event ...
- iOS GZWaterfall任何形式的瀑布流
概述 使用UICollectionView可以布局各种各样的瀑布流,下面我写了几种不同布局的瀑布流样式 详细 代码下载:http://www.demodashi.com/demo/11018.html ...
- 通讯录结构体方法的实现 和VS中存在的一些问题的分析
实现一个通讯录: 通讯录能够用来存储1000个人的信息.每一个人的信息包含: 姓名.性别.年龄.电话.住址 功能例如以下: 1. 加入联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信 ...
- spring mvc 返回json的配置
转载自:http://my.oschina.net/haopeng/blog/324934 springMVC-servlet.xml 配置 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- 【apache2】apache2查看错误日志、请求日志
1.一般存储路径在 [ /var/log/apache2/ ]下面, 2.错误日志和请求日志 必须要进行定期清理. 清理完成后,必须重启apache [ cd / ; service apac ...
- centos6.5下使用yum完美搭建LNMP环境(php5.6,mysql5.5,nginx1.10)
准备工作 配置防火墙,开启80端口.3306端口 不用执行这句:rm -rf /etc/sysconfig/iptables 直接进入修改:vi /etc/sysconfig/iptables 添加8 ...
- HTML-IE6兼容性问题及IE6常见BUG详细汇总
点评:IE6的兼容性问题一直都是前端工程师的恶梦,为了早早脱离这种困境,本文整理了一些相关兼容性的知识,感兴趣的朋友可以参考下哈,希望可以帮助到你- 1.终极方法:条件注释 <!--[if lt ...
- JavaScript异常处理
http://www.yaosansi.com/post/747.html 异常处理概述 在代码的运行过程中,错误是不可避免的,总的来说,错误发生于两种情况:一是程序内部的逻辑或者语法错误, ...