Пробовал через термукс proot-alpine запускать репозиторий "puppeteer on termux", там было две проблемы /root/puppeteer-on-termux/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js:26:15
или unsupported device: android
но т.к. версии nodejs в термукс понизить нельзя, как я прочитал, нужно хранить в архиве старые версии и в них брать уже скомпилированные файлы или собирать пакет самому,
возможно этот репозиторий и заработал бы, если не версия nodejs ведь ему уже 3 или 4 года.
В принципе есть ещё другие варианты это selenium, selendroid, appium, nightwatchjs, но их нужно проверять.
Да, вероятность запуска chromium-driver или гекко драйвера думаю больше,
но тут немного не понятно, например, если устанавливать дистрибутив через линуксДеплой, насколько понимаю, это называется сhroot контейнер, всё сведётся к банальному перебору вариантов? Если брать Alpine, там есть выбор между armv7, armhf, aarch64, x86, x86_64.
Из тех вопросов, что я задавал в интернете, мне говорили если у тебя есть рут, то можешь использовать chroot т.к. термукс имеет другую иерархию папок и все его библиотеки перекомпилированы.
Я использую базовую настройку из библиотеки селениум, хотя я видел, что можно добавлять в опции , например const browser = await puppeteer.launch({headless: true, args:['--no-sandbox']});
или
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-gpu")
driver = webdriver.Chrome(service = ser, options=chrome_options)
driver.get(url)
const { Builder, By, Key, until } = require('..')
const { Options } = require('../chrome');
(async function () {
let driver
try {
driver = await new Builder()
.forBrowser('chrome')
.setChromeOptions(new Options().androidChrome())
.build()
await driver.get('http://www.google.com/ncr')
await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN)
await driver.wait(until.titleIs('webdriver - Google Search'), 1000)
} finally {
;(await driver) && driver.quit()
}
})().then(
(_) => console.log('SUCCESS'),
(err) => console.error('ERROR: ' + err)
)