selenium

    • 首先到码云下载插件点击下载到本地并导入到工作空间或安装到maven库
    • 在spider-flow/spider-flow-web/pom.xml中引入插件

    节点说明

    • 页面加载超时时间,单位为毫秒
    • 元素获取超时时间,单位为毫秒
    • URL:起始地址
    • 节点执行完毕后,会产生 类型为SeleniumResponse的变量

    SeleniumResponse 方法

    参数名描述可否为空
    cssSelector要获取的cssSelector

    TIP

    返回值类型:WebElement

    • 获取页面上的第一个div
    1. ${resp.selector('div')}

    selectors

    参数名描述可否为空
    cssSelector要获取的cssSelector

    TIP

    返回值类型:WebElements

    • 获取页面上的所有div
    1. ${resp.selectors('div')}

    xpath

    参数名描述可否为空
    xpath要获取的xpath

    TIP

    返回值类型:WebElement

    • 获取页面上的第一个div
    1. ${resp.xpath('//div')}

    xpaths

    参数名描述可否为空
    xpath要获取的xpath

    TIP

    返回值类型:WebElements

    • 获取页面上的所有div
    1. ${resp.xpaths('//div')}

    executeScript

    TIP

    返回值类型:Object

    • 执行js
    1. ${resp.executeScript('return "hello spider-flow-" + arguments[0];',['selenium'])}

    quit

    • 退出浏览器
    1. ${resp.quit()}

    toUrl

    参数名描述可否为空
    url要跳转的url
    • 跳转到百度

    html

    TIP

    返回值类型:String

    • 获取节点的html

    text

    TIP

    返回值类型:String

    • 获取节点的text

      attr

      返回值类型:String

      • 获取节点的href属性
      1. ${elementVar.attr('href')}
      参数名描述可否为空
      cssSelector要获取的cssSelector

      TIP

      返回值类型:WebElement

      • 获取该节点下的第一个div
      1. ${elementVar.selector('div')}

      selectors

      参数名描述可否为空
      cssSelector要获取的cssSelector

      TIP

      返回值类型:WebElements

      • 获取获取该节点下的所有div
      1. ${elementVar.selectors('div')}

      xpath

      参数名描述可否为空
      xpath要获取的xpath

      TIP

      返回值类型:WebElement

      • 获取获取该节点下的第一个div
      1. ${elementVar.xpath('//div')}

      xpaths

      TIP

      返回值类型:WebElements

      • 获取获取该节点下的所有div
      1. ${elementVar.xpaths('//div')}

      screenshot

      TIP

      返回值类型:byte[]

      • 对该节点进行截图
      1. ${elementVar.screenshot()}

      click

      TIP

      返回值类型:WebElement

      • 对该节点进行点击

      sendKeys

      TIP

      返回值类型:WebElement

      • 对该节点进行模拟按键

      clickAndHold

      release

      move

      参数名描述可否为空
      offset_xoffset x
      offset_yoffset y

      在该节点上模拟鼠标移动,当offset_x和offset_y为空时,则模拟鼠标移动到该节点上

      pause

      perform

      TIP

      以上6个方法是配套使用,调用perform时才是真正执行动作

      • 模拟鼠标移动到该节点上,等待500ms在点击,等待500ms在移动,最后释放(模拟拖拽滑块条)
      1. ${elementVar.move().pause(500).clickAndHold().pause(500).move(200,0)release().perform()}

      WebElements 方法

      html

      TIP

      返回值类型:List<String>

      • 获取节点的html
      1. ${elementsVar.html()}

      text

      TIP

      返回值类型:List<String>

      • 获取节点的text
      1. ${elementsVar.text()}

      attr

      TIP

      返回值类型:List<String>

      • 获取节点的href属性
      1. ${elementsVar.attr('href')}

      selector

      参数名描述可否为空
      cssSelector要获取的cssSelector

      TIP

      返回值类型:WebElement

      • 获取该节点下的第一个div
      1. ${elementsVar.selector('div')}

      selectors

      参数名描述可否为空
      cssSelector要获取的cssSelector

      TIP

      返回值类型:WebElements

      • 获取获取该节点下的所有div
      1. ${elementsVar.selectors('div')}

      xpath

      参数名描述可否为空
      xpath要获取的xpath

      TIP

      返回值类型:WebElement

      • 获取获取该节点下的第一个div

      xpaths

      返回值类型:WebElements

      • 获取获取该节点下的所有div
      1. ${elementsVar.xpaths('//div')}