Welcome 微信登录

首页 / 脚本样式 / JavaScript / API - 使用Default对象 - 基础篇

API - 使用Default对象 - 基础篇2014-06-10 cnblogs Ivan Zou在编写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(); //获取innerHtmlvoid Html(string html); //设置innerHtmlstring Text(); //获取innerTextvoid Text(string text); //设置innerTextstring 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 - 后面所有的同级节点