Я использую Rselenium для сбора информации об аренде в рекламе с сайта. Однако, похоже, что не каждое объявление содержит информацию об аренде. Поэтому, когда мой цикл выполняется для тех, у кого нет информации об аренде, он сталкивается с ошибкой, то есть «NoSuchElement», и цикл останавливается. Я хочу:
1 / заполните значения «NA» для тех случаев, когда информация об аренде отсутствует; и
2 / продолжить цикл для удаления информации об аренде.
Я уже пробовал использовать функцию «tryCatch», однако, похоже, она не работает. R по-прежнему выдает ошибку, т.е. «Ошибка: Сводка: NoSuchElement
Подробно: элемент не может быть расположен на странице с использованием заданных параметров поиска.
Дополнительная информация: запустить метод errorDetails ".
Мой код указан ниже. Я ценю ваше время и помощь.
#add url
url <- "https://www.toimitilat.fi/toimitilahaku/?size_min=&size_max=&deal_type%5B%5D=1&language=fin&result_type=list&advanced=0&gbl=1&ref=main#searchresult"
rD <- rsDriver()
remDr <- rD$client
remDr$navigate(url)
< for(i in 8:13){
Sys.sleep(0.86)
rent <- remDr$findElement(using = "css selector", paste("#objectList > div:nth-child(", i, ") > div.infoCont > div.priceCont", sep = ""))$getElementText()
#checking if there is a rent or not
if(!is.null(rent)){
tryCatch({
rent <- unlist(strsplit(rent[[1]][1], "\n"))
rent_df <- rbind(rent_df, rent)
}, error = function(e){
return("NoSuchElement")
i = i + 1
})
}
}
>