API - 使用Default对象 - 基础篇2014-06-10 cnblogs Ivan Zou在编写Spider Studio脚本时, Default对象是最常用最重要的一个, 其类型定义如下:Webus3.Spider.Controls.JQueryBrowser Default;下面介绍它的基本用法:1. Navigatevoid Navigate(string urlString)使浏览器打开指定urlString指定的网页.2. Readyvoid Ready()主页面加载完成即返回. 如果页面采用ajax进行异步加载, Ready不会刻意等待所有ajax数据加载完成, 此时请用 bool Ready(string jqueryExpression).3. Ready - 针对ajaxbool Ready(string jqueryExpression)和普通Ready相比, 此重载方法将会判断 jqueryExpression 指定的页面节点是否存在, 如果不存在则等待, 如果存在则立即返回. 它可以用于Ajax的场景, 比如某个新闻页面的评论节点 #comment 是动态加载的, 我们可以利用Ready("#comment") 来控制脚本等待到评论成功加载之后才继续运行.4. SelectNodes / SelectSingleNodeList<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 的 divDefault.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上的SelectorJQueryContext SelectSingleNode(string jqueryExpression);List<JQueryContext> SelectNodes(string jqueryExpression);JQueryContext Next();List<JQueryContext> NextAll();SelectSingleNode / SelectNodes 和上面一样, 就不用多说了.Next - 后一个同级节点NextAll - 后面所有的同级节点