Stack Overflow на русском Asked on February 3, 2021
Пытаюсь разобраться с Selenium на Koltin. Мне нужно написать парсер, но проблема в том, что ресурс работает динамически (через скрипты), поэтому мне порекомендовали использовать Selenium, но что-то ничего не получается.
Важно! Я пишу мобильное приложение, поэтому не могу указать путь на своем диске, ведь при компиляции он потеряется. (моё предположение, но могу и ошибаться)
Подключил зависимости через Android Studio Project Structure:
implementation 'org.seleniumhq.selenium:selenium:2.0rc2'
Подключил плагин WebDriver по рекомендации с форумов:
apply plugin: 'com.github.erdi.webdriver-binaries' //in Module:app <
//in dependencies Project: name >
classpath("gradle.plugin.com.github.erdi.webdriver-binaries:webdriver-binaries-gradle-plugin:2.3")
//in repositories Project: name >
maven {
url = uri("https://plugins.gradle.org/m2/")
}
Пытаюсь взаимодействовать с сайтом:
val driver = ChromeDriver()
driver.get("https://xn--80ac9aeh6f.xn--p1ai/books?order=new")
waitUntilPageIsReady(driver)
val links = driver.findElementsByClassName("BookListItem__title-link")
.map { it.getAttribute("href") }
links.forEach {
Log.i("SeleniumIO", "$it is link?")
}
private fun waitUntilPageIsReady (driver: ChromeDriver) {
val executor = driver as JavascriptExecutor
WebDriverWait (driver, 1)
.until { executor.executeScript ( "return document.readyState" ) == "complete"}
}
Обновлено
Компиляция приложения происходит успешно, но при запуске все падает и выдает ошибку:
The path to the chromedriver executable must be set by the webdriver.chrome.driver system property
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP