• API


    在编写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 - 后面所有的同级节点

  • 相关阅读:
    如何在winform的numericUpDown中显示小数点
    Jquery attr 和removeAttr 的简单使用
    Linux下的多进程编程初步(转载)
    扩展GCD和线性模方程组
    05、Flutter常用组件
    12、Flutter组件装饰
    10、Flutter资源和图片
    09、Flutter手势控制
    04、FlutterDart语法
    07、FluterCupertino
  • 原文地址:https://www.cnblogs.com/iamzyf/p/3433843.html
Copyright © 2020-2023  润新知