RSelenium中的CSS选择器出现问题

时间:2020-04-15 07:24:08

标签: html css r selenium web-scraping

我正在尝试从此网页(https://www.smogon.com/dex/ss/pokemon/)中的Pokemon中提取名称和层(NU,UU,OU等)。我正在使用的代码是

library(tidyverse, pos = 3)
library(rvest, pos = 4)
library(RSelenium, pos = 5)
library(XML, pos = 6)

rd <- rsDriver(browser = "firefox", port = 4561L)
remDr <- rd[["client"]]

remDr$navigate("https://www.smogon.com/dex/ss/pokemon/")

webElem <- remDr$findElement(using = 'css selector',
                             "#container > div > main > div > div > div:nth-child(1) > div.PokemonAltRow-name > a")
webElem$getElementAttribute("href")

但是,即使表中有1000个条目,我也不能超过nth-child(10)。我注意到滚动页面时会重置nth-child的数量,因此我尝试了以下操作:

body <- remDr$findElement("css", "body")
body$sendKeysToElement(list(key = "home"))
body$sendKeysToElement(list(key = "space"))
webElem <- remDr$findElement(using = 'css selector',
                             "#container > div > main > div > div > div:nth-child(1) > div.PokemonAltRow-name > a")
webElem$getElementAttribute("href")

但是,即使我进入浏览器,也可以手动执行该操作,但是页面似乎不会随着空格键向下滚动。我也尝试过使用down_arrow而不是空格,但仍然无法正常工作。

感谢您的帮助。我几乎没有网络抓取,html,xml等经验。

0 个答案:

没有答案
相关问题