web-driver.Searchable
モジュールいくつかの検索方法を使って、要素を検索する機能を提供します。
以下のように要素を検索する方法を指定できます。
css selector
: CSSセレクターを使って要素を検索します。link text
: Link text selectorを使って要素を検索します。partical link text
: Partical link text selectorを使って要素を検索します。tag name
: Tag名を使って要素を検索します。xpath
: XPath使って要素を検索します。search(xpath) -> web-driver.ElementSet
xpath_search
のエイリアスです。このメソッドは、XMLua.Searchable:search()
との互換のためにあります。
css_select(selectors) -> web-driver.ElementSet
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_search(xpath) -> web-driver.ElementSet
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_serach(text) -> web-driver.ElementSet
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_serach(substring) -> web-driver.ElementSet
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)
tag_name(name) -> web-driver.ElementSet
タグ名を使って要素を検索し、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)
web-driver.ElementSet
: 複数の要素を扱うクラスです。