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 |