Я пытался получить данные о списках недвижимости с веб-сайта, где иногда есть кнопка «Просмотреть больше», чтобы загрузить больше результатов, а иногда ее там нет. В первом случае я использовал следующий код, и он отлично работает. Например,
url<- "http://www.magicbricks.com/property-for-rent/residential-real-estate?bedroom=2&proptype=Multistorey-Apartment,Builder-Floor-Apartment,Penthouse,Studio-Apartment,Service-Apartment,Residential-House,Villa&cityName=Navi-Mumbai&Locality=Vashi"
remDr$navigate(url)
Sys.sleep(3)
webElem <- remDr$findElement("css", "#viewMoreButton a")
while(webElem$isElementDisplayed()[[1]]){
tryCatch({
Sys.sleep(1)
webElem <- remDr$findElement("css", "#viewMoreButton a")
webElem$clickElement()
}, error=function(e){})
}
mb<- read_html(remDr$getPageSource()[[1]])
Но во втором случае это не работает. Например:
url<- "http://www.magicbricks.com/property-for-rent/residential-real-estate?bedroom=4&proptype=Multistorey-Apartment,Builder-Floor-Apartment,Penthouse,Studio-Apartment,Service-Apartment,Residential-House,Villa&cityName=Navi-Mumbai&Locality=Vashi"
remDr$navigate(url)
Sys.sleep(3)
webElem <- remDr$findElement("css", "#viewMoreButton a")
while(webElem$isElementDisplayed()[[1]]){
tryCatch({
Sys.sleep(1)
webElem <- remDr$findElement("css", "#viewMoreButton a")
webElem$clickElement()
}, error=function(e){})
}
mb<- read_html(remDr$getPageSource()[[1]])
Этот код застревает на строке «WebElem‹- renDr$findElement()» и не движется вперед или выдает ошибку.
Что я делаю не так?
Error: Summary: NoSuchElement
когда я запускаюwebElem <- remDr$findElement("css", "#viewMoreButton a")
. Цикл while никогда не выполняется, выдавая ошибкуError: object 'webElem' not found
, как и ожидалось, поскольку webElem никогда не назначался. - person jdharrison   schedule 02.11.2016