- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试学习使用 RSelenium。我坚持只是尝试使用 rsDriver 启动服务器。我只是想运行下面的代码并得到以下错误:
rD <- rsDriver()
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
Error in open.connection(con, "rb") :
Peer certificate cannot be authenticated with given CA certificates
我搜索了堆栈溢出,发现我们可以使用下面的方法为 rsDriver 提供选项,但我仍然遇到错误:
my_extra <- list("--ignore-ssl-errors=true", "--ssl-protocol=tlsv1", "--web-security=no")
rs <- rsDriver(extraCapabilities = my_extra)
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
Error in open.connection(con, "rb") :
Peer certificate cannot be authenticated with given CA certificates
还有什么我想念的吗?
对于 httr::GET 函数,我可以使用以下方法绕过 SSL 证书:
set_config(config(ssl_verifypeer=0L)).
但此方法不适用于 RSelenium::rsDriver。
这是我的系统规范:我的操作系统:Microsoft Windows 10
R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RCurl_1.95-4.8 bitops_1.0-6 httr_1.2.1 wdman_0.2.2
[5] RSelenium_1.7.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.12 XML_3.98-1.9 binman_0.1.0 assertthat_0.2.0
[5] R6_2.2.2 jsonlite_1.5 semver_0.2.0 curl_2.7
[9] tools_3.4.1 yaml_2.1.14 compiler_3.4.1 caTools_1.17.1
[13] openssl_0.9.6
最佳答案
rsDriver
使用 binman 包来处理相关二进制文件的下载。 selenium 项目在 JSON 文件中列出了它的版本,地址为 https://www.googleapis.com/storage/v1/b/selenium-release/o。如果您尝试,您应该会遇到同样的问题:
jsonlite::fromJSON("https://www.googleapis.com/storage/v1/b/selenium-release/o")
你可以mock
相关的curl
fundtion 使用类似的东西:
my_new_handle <- function(...){
print("mocking")
h <- .Call(curl:::R_new_handle, PACKAGE = "curl")
curl:::handle_setopt(h, ..., ssl_verifypeer = FALSE)
h
}
testthat::with_mock(
`curl::new_handle` = my_new_handle,
{
selCommand <- httr::with_config(config(ssl_verifypeer=0L),wdman::selenium(retcommand=TRUE))
}
)
关于RSelenium rsDriver 对等 SSL 证书问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45293675/
我正在尝试使用 RSelenium 抓取网站。但是,当我想连接到 Selenium 服务器时遇到问题。 假设我使用 rsDriver() 命令启动 selenium 服务器和浏览器: rsDriver
我无法使用 R selenium。这是第一步和我的输出: library(RSelenium) rD <- rsDriver() # checking Selenium Server versions
我已将 r 更新到最新版本,并再次安装了 Rselenium。 我尝试使用 rsDriver,但端口 4567 有问题。与 this 相同 错误回溯: rd <-rsDriver(verbose =T
我正在尝试学习使用 RSelenium。我坚持只是尝试使用 rsDriver 启动服务器。我只是想运行下面的代码并得到以下错误: rD = 8 x64 (build 9200) Matrix prod
我使用的是 Mac(操作系统 10.13.6),并正在尝试学习如何使用 RSelenium。 我已经安装了 RSelenium,但在使用 rsDriver 命令时遇到问题: rD <- rsDrive
我使用的是 Mac(操作系统 10.13.6),并正在尝试学习如何使用 RSelenium。 我已经安装了 RSelenium,但在使用 rsDriver 命令时遇到问题: rD <- rsDrive
我正在尝试使用 RSelenium 进行网络抓取。我正在遵循 cran 上解释的基础教程.推荐的方法是安装 Docker(参见教程以及 this stackoverflow 答案)。如果我理解正确,这
我是一名优秀的程序员,十分优秀!