r-如何在RSelenium中使用for循环在网站上键入文本



我想在返回机器上归档200多个链接。我已经抓取了所有的链接,并创建了一个循环,以便驱动程序可以单独键入所有链接并将其保存在网站上。循环运行一次,然后不再运行。关于修复的建议?

library(rvest)
library(tidyverse)
library(RSelenium); library(netstat)
# get men's links with rvest
pageMen = read_html('https://www.bjjcompsystem.com/tournaments/1869/categories')
mget_links <- pageMen %>% 
html_nodes('.categories-grid__category a') %>% 
html_attr('href') %>%
paste0('https://www.bjjcompsystem.com', .)
# start server
remote_driver = rsDriver(browser = 'firefox',
verbose = F,
port = free_port())
rd = remote_driver$client
rd$open()
rd$navigate('https://web.archive.org/save')
rd$maxWindowSize()
for (i in length(mget_links[10:259])){
save_page_box = rd$findElement(using = 'xpath', '//*[(@id = "web-save-url-input")]')
save_page_box$clickElement()
save_page_box$sendKeysToElement(list(mget_links[i], key='enter'))
Sys.sleep(40)
return.to.save.page = rd$findElement(using = 'link text', 'Return to Save Page Now')
return.to.save.page$clickElement()
}

使用1:length(mget_links[11:259]而不是length(mget_links[11:259]

for (i in 1:length(mget_links[11:259])){
save_page_box = rd$findElement(using = 'xpath', '//*[(@id = "web-save-url-input")]')
save_page_box$clickElement()
save_page_box$sendKeysToElement(list(mget_links[i], key='enter'))
Sys.sleep(30)
return.to.save.page = rd$findElement(using = 'link text', 'Return to Save Page Now')
return.to.save.page$clickElement()
rd$navigate('https://web.archive.org/save')
}

最新更新