Я использую RSelenium, чтобы нажимать на динамический элемент после поиска на этой веб-странице: http://www.in.gov.br/web/guest/inicio.
Каждый раз, когда я ищу слово, я хотел бы найти слова / ссылку 'Ministério Da Educação' (это португальский эквивалент Министерства образования) в правой части страницы результатов и нажмите на нее.
Я использовал функцию inspect element из Google Chrome, но мне не удалось найти и щелкнуть этот элемент.Я уже пробовал использовать xpath, css selector, id ...
Я использую следующий код:
## search parameters
string_search <- "contrato"
date_search <- format(
as.Date("17/04/2019", "%d/%m/%Y"),
"%d/%m/%Y") #brazilian format
## start Selenium driver
library(RSelenium)
selCommand <- wdman::selenium(
jvmargs = c("-Dwebdriver.firefox.verboseLogging=true"),
retcommand = TRUE)
shell(selCommand, wait = FALSE, minimized = TRUE) # for windows
# system(selCommand) # for Linux
remDr <- remoteDriver(port = 4567L, browserName = "firefox")
remDr$open()
## navigation & search
remDr$navigate("http://www.in.gov.br/web/guest/inicio")
Sys.sleep(5)
# from date
datefromkey<-remDr$findElement(using = 'css', "#calendario_advanced_from")
datefromkey$clickElement()
datefromkey$sendKeysToElement(list(key = "enter"))
datefromkey$clearElement()
datefromkey$sendKeysToElement(list(date_search))
datefromkey$sendKeysToElement(list(key = "enter"))
# to date
datetokey<-remDr$findElement(using = 'css', "#calendario_advanced_to")
datetokey$clickElement()
datetokey$sendKeysToElement(list(key = "enter"))
datetokey$clearElement()
datetokey$sendKeysToElement(list(date_search))
datetokey$sendKeysToElement(list(key = "enter"))
# string to search
wordkey<-remDr$findElement(using = 'css', "#input-advanced_search")
wordkey$sendKeysToElement(list('"', string_search, '"'))
# click search button
press_button <- remDr$findElement(using = 'class', "btn")
press_button$clickElement()
Вот где я борюсь:
1) первая попытка: использование более широкого тега
# using a broader tag
categorykey <- remDr$findElement(using = 'id', '_3_facetNavigation')
categorykey$getElementText()
С getElementText()
Я вижу, что "Ministério da Educação" есть, но я не знаю, как нажать на ссылку.
2) вторая попытка: с помощью xpath
categorykey <- remDr$findElement('xpath', '//li
[@id="yui_patched_v3_11_0_1_1555545676970_404"]/text()')
Возвращает ошибку.Селен не может найти элемент.