我的问题与this previous one有关,因为我同样喜欢在使用最新版本的RSelenium(1.7.1)驱动Chrome时启用AdBlocker。现在,如果不推荐使用startServer,如何在RSelenium中设置Chrome配置文件?
我正在使用的代码如下,但我不认为最后一行是正确的。至少,当使用RSelenium打开Chrome时,AdBlocker似乎无法正常工作。想法?
rD <- rsDriver(verbose = F)
remDr <- rD$client
cprof <- getChromeProfile("/Users/<username>/Library/Application Support/Google/Chrome", "Default")
remDr$extraCapabilities <- cprof
答案 0 :(得分:4)
您可以将@SpringBootTest
参数传递给extraCapabilities
函数:
rsDriver
更新
您还可以通过base 64编码相关的crx文件来添加扩展名。您可以从例如http://chrome-extension-downloader.com/获取chrome crx文件(当前用于adguard adblocker的ID为:bgnkhhnnamicmpeenaelnjfhikgbkllg),一旦您拥有了需要对其进行base64编码的crx文件。我使用了https://cran.r-project.org/web/packages/base64enc/:
cprof <- getChromeProfile("/Users/<username>/Library/Application Support/Google/Chrome", "Default")
rD <- rsDriver(verbose = F, extraCapabilities = cprof)
remDr <- rD$client
如果您希望使用library(RSelenium)
cprof <- list(chromeOptions =
list(extensions =
list(base64enc::base64encode("C:/Users/john/Downloads/Adguard-AdBlocker_v2.5.11.crx"))
))
rD <- rsDriver(verbose = F, extraCapabilities = cprof)
remDr <- rD$client
进行编码:
jsonlite
在MAC OSx sierra上:
我通过在chrome&#34; seltestprof&#34;上添加一个人来创建个人资料。配置文件在文件夹中创建,可以通过在使用配置文件时浏览到chrome://版本来找到。您可以在此处查看配置文件路径。我是
tmpfile <- "C:/Users/john/Downloads/Adguard-AdBlocker_v2.5.11.crx"
jsonlite::base64_enc(readBin(tmpfile, "raw", file.info(tmpfile)$size))
我运行以下代码来使用配置文件:
/private/var/folders/c2/d97mz0250bg08rr4g2znxk7m0000gq/T/.org.chromium.Chromium.mS5SA1/Profile 1
要使用基本编码的crx,我使用以下代码: 库(RSelenium)
library(RSelenium)
cprof <- getChromeProfile("/private/var/folders/c2/d97mz0250bg08rr4g2znxk7m0000gq/T/.org.chromium.Chromium.mS5SA1/", "Profile 1")
rD <- rsDriver(verbose = F, extraCapabilities = cprof)
remDr <- rD$client
remDr$navigate("http://ads-blocker.com/testing/")
remDr$screenshot(display = TRUE)