r - 使用远程驱动程序下载 RSelenium 文件
问题描述
我正在尝试使用 RSelenium 从SmartRow下载文件。我一直在获取实际的文件下载。下面,我包含了我的代码,包括除凭据之外的所有内容。
正如你肯定知道的那样,我是网络抓取和 RSelenium 的新手。我将非常感谢您提出的任何建议。
我在单击最后一个元素之前包含了一个屏幕截图。我觉得我很接近,但我被官方难住了。
library(RSelenium)
eCaps <- list(chromeOptions = list(
# driver = "/bin/chromedriver",
args = c("--window-size=1920,1080",
"--disable-extensions",
"--proxy-server='direct://'",
"--proxy-bypass-list=*",
"--start-maximized",
"--headless",
"--desable-gpu",
"--disable-dev-shm-usage",
"--no-sandbox",
"--ignore-certificate-errors"
),
prefs = list("profile.default_content_settings.popups" = 0L,
"download.prompt_for_download" = FALSE,
"download.default_directory" = "/home/ua21849/downloads")
))
remDr <- remoteDriver(
remoteServerAddr = "********",
port = 4444L,
browserName = "chrome",
extraCapabilities = eCaps
)
remDr$open()
remDr$navigate("https://smartrow.fit/#/profile")
username <- remDr$findElement(using = "id", value = "mat-input-0")
remDr$findElement(using = "id" , value = "mat-input-0")$sendKeysToElement(list("******"))
remDr$findElement(using = "id", value = "mat-input-1")$sendKeysToElement(list("*******"))
remDr$findElement(using = "css selector", value = ".mat-stroked-button")$clickElement()
remDr$navigate("https://smartrow.fit/#/log")
remDr$findElement(using = "css selector", value = ".mat-icon-no-color")$clickElement()
remDr$screenshot(file = "test.png")
b <- remDr$findElement(using = "css selector",
value = "a.mat-list-item.mat-2-line.ng-star-inserted")
b$clickElement()
会话信息:
> sessionInfo()
R version 4.1.1 (2021-08-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS: /share/apps/R/openblas/OpenBLAS-0.2.19/libopenblas.so
LAPACK: /share/apps/R/R-4.1.1-openblas/lib64/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rvest_1.0.1 magrittr_2.0.1 RSelenium_1.7.6
loaded via a namespace (and not attached):
[1] Rcpp_1.0.7 XML_3.99-0.7 binman_0.1.2 assertthat_0.2.1 bitops_1.0-7 R6_2.5.1 lifecycle_1.0.0 jsonlite_1.7.2
[9] semver_0.2.0 httr_1.4.2 stringi_1.7.4 rlang_0.4.11 curl_4.3.2 xml2_1.3.2 tools_4.1.1 stringr_1.4.0
[17] selectr_0.4-2 wdman_0.2.5 compiler_4.1.1 askpass_1.1 caTools_1.18.2 openssl_1.4.4
远程驱动程序是一个奇异容器,它是此处推荐的 docker 容器的克隆。
解决方案
推荐阅读
- javascript - express-validator isAfter 总是假的
- c# - 如何将安装程序单选按钮对话框中的输入用作文件系统 DefaultLocation 的一部分的变量
- python - 有没有办法错开或躲避多个 matplotlib.plot 误差线?
- java - Android File.listFiles() 返回 null
- python - 我只能在python中将某些变量设置为true时记录吗?
- c++ - 我的代码无法将输入验证为整数
- javascript - 如何在JS中存储链接并通过html动态打开?
- ios - 观察者类没有收到通知
- sql-server - SQL Server、LIKE 与 RTRIM 性能
- php - 在登陆 URL 中通过修剪 PHP $_GET 获取哈希