You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RSelenium中等待元素可见并点击的问题求助

解决RSelenium中复选框clickElement()无效的问题

问题场景

使用RSelenium操作目标页面时,通过findElement()定位到id为Terminos的复选框,调用clickElement()方法无法完成勾选,但手动勾选后isElementSelected()能正确返回选中状态。元素的isElementEnabled()返回TRUE,说明元素本身处于启用状态,但常规点击不生效。

解决方案

通过executeScript()直接执行JavaScript代码触发复选框的点击事件,绕过Selenium原生点击可能遇到的元素遮挡、事件绑定优先级等问题。具体是将定位到的元素作为参数传入JS代码,调用元素原生的click()方法。

修改后的代码示例

library(RSelenium)
library(netstat)

rd = rsDriver(browser = "chrome", chromever = NULL, port = free_port(), verbose = FALSE)
remo_dr = rd$client

remo_dr$navigate("https://analisis.cis.es/formulario.jsp?dwld=/Microdatos/MD3318.zip")

clickbox = remo_dr$findElement(using = "id", value = "Terminos")
clickbox$isElementEnabled()
clickbox$isElementSelected()

# 替换原clickElement(),使用JS触发点击
remo_dr$executeScript("arguments[0].click();", list(clickbox))

clickbox$isElementSelected()

执行结果

> clickbox$isElementEnabled()
[[1]]
[1] TRUE

> clickbox$isElementSelected()
[[1]]
[1] FALSE

> remo_dr$executeScript("arguments[0].click();", list(clickbox))
> clickbox$isElementSelected()
[[1]]
[1] TRUE

原环境信息

R version 3.6.3 (2020-02-29)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS  10.16

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] netstat_0.1.1   RSelenium_1.7.7

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.10      XML_3.99-0.3     binman_0.1.2     ps_1.7.2         assertthat_0.2.1 rappdirs_0.3.3   bitops_1.0-6     R6_2.5.1        
 [9] jsonlite_1.8.4   semver_0.2.0     httr_1.4.2       curl_4.3         xml2_1.3.3       tools_3.6.3      wdman_0.2.5      processx_3.8.0  
[17] yaml_2.2.1       compiler_3.6.3   askpass_1.1      caTools_1.18.2   openssl_1.4.3   

内容的提问来源于stack exchange,提问作者Fran Villamil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:25:39