Я пытаюсь собрать все отдельные URL-адреса (URL-адрес адвоката) с этого веб-сайта - https://www.linklaters.com/en/find-a-lawyer. Я не могу найти способ извлечь URL-адреса - когда я использую селектор CSS, он не работает. Не могли бы вы предложить другой способ найти конкретный элемент на веб-странице?
Также для сбора всех данных мне нужно нажать на кнопку «Загрузить еще» и я использую RSelenium.
Я думаю, что я не делаю что-то правильно с запуском Rselenium через Docker, так как появляется ошибка -
Ошибка в checkError (res):
Неопределенная ошибка в вызове httr. Вывод httr: не удалось подключиться к локальному порту 4445: соединение отклонено
library(dplyr)
library(rvest)
library(stringr)
library(RSelenium)
link = "https://www.linklaters.com/en/find-a-lawyer"
hlink = read_html(link)
urls <- hlink %>%
html_nodes(".listCta__subtitle--top") %>%
html_attr("href")
urls <- as.data.frame(urls, stringsAsFactors = FALSE)
names(urls) <- "urls"
remDr <- RSelenium::remoteDriver(remoteServerAddr = "localhost",
port = 4445L,
browserName = "chrome")
remDr$open()
replicate(20,
{ # scroll down
webElem <- remDr$findElement("css", "body")
webElem$sendKeysToElement(list(key = "end"))
# find button
allURL <- remDr$findElement(using = "css selector", ".listCta__subtitle--top")
# click button
allURL$clickElement()
Sys.sleep(6)
})
allURL <- xml2::read_html(remDr$getPageSource()[[1]])%>%
rvest::html_nodes(".field--type-ds a") %>%
html_attr("href")