web-driver.Searchable モジュール

概要

いくつかの検索方法を使って、要素を検索する機能を提供します。

以下のように要素を検索する方法を指定できます。

メソッド

xpath_searchのエイリアスです。このメソッドは、XMLua.Searchable:search()との互換のためにあります。

CSSセレクターを使って要素を検索し、web-driver.ElementSetオブジェクトとして返します。

例:

local web_driver = require("web-driver")
local driver = web_driver.Firefox.new()

local URL =
  "https://clear-code.gitlab.io/lua-web-driver/sample/"

driver:start_session(function(session)
  session:navigate_to(URL)

  local elements = session:css_select('p')
  for _,v in pairs(elements:texts()) do
    print(v)
-- Hello 1
-- Hello 2
-- Hello 3
  end
end)

XPathを使って要素を検索しweb-driver.ElementSetオブジェクトとして返します。

例:

local web_driver = require("web-driver")
local driver = web_driver.Firefox.new()

local URL =
  "https://clear-code.gitlab.io/lua-web-driver/sample/"

driver:start_session(function(session)
  session:navigate_to(URL)

  local elements = session:search('/html/body/p')
  print(elements[1]:text())
  -- 1
end)

Link text selectorを使って要素を検索し、web-driver.ElementSetオブジェクトとして返します。

例:

local web_driver = require("web-driver")
local driver = web_driver.Firefox.new()

local URL =
  "https://clear-code.gitlab.io/lua-web-driver/sample/link.html"

driver:start_session(function(session)
  session:navigate_to(URL)

  local links = session:link_search("1")
  links[1]:click()
  local elements = session:css_select("p")
  print(elements:text())
  -- 1
end)

Partial link text selectorを使って要素を検索し、web-driver.ElementSetオブジェクトとして返します。

例:

local web_driver = require("web-driver")
local driver = web_driver.Firefox.new()

local URL =
  "https://clear-code.gitlab.io/lua-web-driver/sample/announcement.html"

driver:start_session(function(session)
  session:navigate_to(URL)

  local links = session:partial_link_search("anno")
  links[1]:click()
  local elements = session:css_select("p")
  print(elements:text())
  -- 1
end)

タグ名を使って要素を検索し、web-driver.ElementSetオブジェクトとして返します。

例:

local web_driver = require("web-driver")
local driver = web_driver.Firefox.new()

local URL =
  "https://clear-code.gitlab.io/lua-web-driver/sample/1.html"

driver:start_session(function(session)
  session:navigate_to(URL)

  local p = session:tag_name("p")
  print(p[1]:text())
  -- 1
end)

参照