使用Rselenium单击列表元素

zy1mlcev  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(64)
    • bounty还有3天到期**。回答此问题可获得+100声望奖励。Duck正在寻找一个规范答案:请帮助解决这个重要问题。

我正在尝试做一些网页抓取周围的网页。网页看起来像这样:

正如你所看到的,有一个列表,我需要点击第二个元素Consulta por Cuenta Contrato。我尝试了下一个代码,但没有工作:

library(rvest)
library(tidyverse)
library(stringr)
library(stringi)
library(dplyr)
library(purrr)
library(wdman)
library(RSelenium)
library(xml2)
library(selectr)
library(httr)
library(jsonlite)
#Code
#start RSelenium
# using RSelenium to start firefox on the selenium server
remDr <- rsDriver(
  port = 4445L,
  browser = "firefox"
)
#remDr$open()
remDr <- remoteDriver(port = 4445L,browser = "firefox")
# open a new Tab on Chrome
remDr$open()
#navigate to your page
remDr$navigate("https://nodejs.eeq.com.ec/consultafacturas/proceso/formulario-ingreso")
Sys.sleep(2)
webElem <- remDr$findElement(using = "id", "mat-radio-3")
webElem$clickElement()

我想点击一下,这样我就得到了这个:

是否可以使用RSelenium来实现?非常感谢。

c0vxltue

c0vxltue1#

代码的问题是没有正确选择单选按钮。如果您检查该网站的HTML,您将看到该项目没有您列出的id mat-radio-3。ID为mat-radio-3-input。所以代码应该看起来像:

remDr <- remoteDriver(port = 4445L,browser = "firefox")
# open a new Tab on Chrome
remDr$open()
#navigate to your page
remDr$navigate("https://nodejs.eeq.com.ec/consultafacturas/proceso/formulario-ingreso")
Sys.sleep(2)
webElem <- remDr$findElement(using = "id", "mat-radio-3-input")
webElem$clickElement()

相关问题