webdriver
Взаимодействие с Chromium совместимыми браузероми через DevTools протокол.
new(options)
Создается сессия через которую выполняется взаимодействие с бразуером средствами API.
Параметры
# | Тип | Описание |
---|---|---|
1 | таблица | опции сессии |
Результат
# | Тип | Описание |
---|---|---|
1 | webdriver_ctx_ud | контекст для работы с браузером |
Пример
local wd = require"webdriver"
ctx = wd.new()
ctx:close()
Работа с сессией (webdriver_ctx_ud)
- navigate
- query
navigate(url)
Осуществляет переход на указанную страницу.
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | адрес |
Результат
# | Тип | Описание |
---|---|---|
1 | ошибка или nil |
ctx = wd.new()
ctx:navigate("https://google.com")
html, err = ctx:query("html")
print(html, err)
ctx:close()
query(selector)
Получает данные из сессии по указанному селектору. Можно использовать имена классов, ID элемента или тег.
Параметры
# | Тип | Описание |
---|---|---|
1 | строка | селектор |
Результат
ctx = wd.new()
ctx:navigate("https://google.com")
html, err = ctx:query("title") -- #ID, .className
print(html, err)
ctx:close()
# | Тип | Описание |
---|---|---|
1 | HTML фрагмент | |
2 | ошибка или nil |