Я пытаюсь почистить отзывы с этого сайта Google Play, используя R (в основном "RSelenium" и "rvest": https://play.google.com/store/apps/details?id=hr.mireo.arthur&hl=en&fbclid=IwAR3c-PkUXOea8KrKLp9Q3JUjCidGmgO2jYX_Qb7O8VuWlHXPIS5nDOfKRKI&showAllReviews=true
Мне удалось загрузить страницу, используя RSelenium и make al oop, который прокручивает страницу вниз и нажимает на все кнопки «Показать больше». Вот код, который я использовал:
#Load packages
library(rvest)
library(dplyr)
library(wdman)
library(RSelenium)
#Open website using RSelenium
url <- 'https://play.google.com/store/apps/details?id=hr.mireo.arthur&hl=en&fbclid=IwAR3c-PkUXOea8KrKLp9Q3JUjCidGmgO2jYX_Qb7O8VuWlHXPIS5nDOfKRKI&showAllReviews=true'
rD <- rsDriver(port = 4567L, browser=c("chrome"), chromever="80.0.3987.106")
remDr <- rD[["client"]]
remDr$open()
remDr$navigate(url)
#Load whole page by scrolling and showing more
xp_show_more <- "//*[@id='fcxH9b']/div[4]/c-wiz/div/div[2]/div/div[1]/div/div/div[1]/div[2]/div[2]/div"
replicate(5,
{
replicate(5,
{
# scroll down
webElem <- remDr$findElement("css", "body")
webElem$sendKeysToElement(list(key = "end"))
# wait
Sys.sleep(1)
})
# find button
morereviews <- remDr$findElement(using = 'xpath', xp_show_more)
# click button
tryCatch(morereviews$clickElement(),error=function(e){print(e)}) # trycatch to prevent any error from stopping the loop
# wait
Sys.sleep(3)
})
Это приводит к загрузке всех 573 комментариев, но несколько в комментариях есть кнопки «Полный обзор», которые нужно нажимать, чтобы увидеть остальную часть. Я пытаюсь создать скрипт, который нажимает на все кнопки «Полный обзор» (я полагаю, их чуть более 30), но я не могу этого сделать. Мой текущий скрипт нажимает на первые кнопки «Полный обзор»
#Click on "Full Review"
xp_full_review <- '//*[@id="fcxH9b"]/div[4]/c-wiz/div/div[2]/div/div[1]/div/div/div[1]/div[2]/div/div[2]/div/div[2]/div[2]/span[1]/div/button'
replicate(35,
{
fullreviews <- remDr$findElement(using = 'xpath', xp_full_review)
fullreviews$clickElement()
Sys.sleep(0.5)
})
Может ли кто-то обнаружить ошибку и найти способ нажать на все кнопки «Полный обзор»?
Спасибо