使用最新版本的RSelenium在Chrome中启用Adblocker扩展

使用最新版本的RSelenium在Chrome中启用Adblocker扩展,r,google-chrome,selenium,adblock,rselenium,R,Google Chrome,Selenium,Adblock,Rselenium,我的问题与此相关,因为我同样希望在使用最新版本的RSelenium 1.7.1驾驶Chrome时启用AdBlocker。既然startServer已被弃用,您如何在RSelenium中设置Chrome配置文件 我使用的代码如下,但我认为最后一行不正确。至少,当使用RSelenium打开Chrome时,AdBlocker似乎不起作用。想法 rD <- rsDriver(verbose = F) remDr <- rD$client cprof <- getChromeProfil

我的问题与此相关,因为我同样希望在使用最新版本的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
您可以将extraCapabilities参数传递给rsDriver函数:

cprof <- getChromeProfile("/Users/<username>/Library/Application Support/Google/Chrome", "Default")
rD <- rsDriver(verbose = F, extraCapabilities = cprof)
remDr <- rD$client
在MAC OSx sierra上:

我通过在chrome seltestprof上添加一个人创建了一个配置文件。配置文件是在文件夹中创建的,可通过浏览找到该文件夹chrome://version 在使用配置文件时。您可以看到此处列出的配置文件路径。我的是

/private/var/folders/c2/d97mz0250bg08rr4g2znxk7m0000gq/T/.org.chromium.Chromium.mS5SA1/Profile 1
我运行了以下代码以使用配置文件:

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)
为了使用基本编码的crx,我使用了以下代码: 硒库

cprof <- list(
  chromeOptions = 
    list(extensions = 
           list(base64enc::base64encode("/Users/admin/Downloads/Adguard-AdBlocker_v2.5.11.crx"))
    )
)
rD <- rsDriver(verbose = F, extraCapabilities = cprof)
remDr <- rD$client

谢谢你的快速回复。然而,将超能力传递给rsDriver似乎并没有起到作用。Adblocker在我手动运行Chrome时起作用,但在我使用RSelenium远程驱动Chrome时不起作用。你知道为什么会这样吗?@M.Aitken这是使用自定义配置文件的正确方法。请检查您是否正确识别自定义配置文件文件夹。另外请注意,两个版本的chrome不能使用相同的配置文件,因此如果您已经打开chrome,它将无法工作。还有第二种方法可以添加我添加的扩展。我确保配置文件文件夹被正确标识。我还确保在使用R打开Chrome之前关闭它。感谢您提供的替代解决方案,但我仍然无法按照您的建议,通过使用base64enc或jsonlite对crx文件进行编码来让它正常工作。这是一个Mac vs.PC的游戏,还是其他的游戏?@M.Aitken在Mac上对我有用。你的RSelenium/wdman运行的是最新的版本吗?好的,很抱歉,我认为我错误地运行了RSelenium 1.7.0。更新到1.7.1确实解决了这个问题。getChromeProfile方法对我来说仍然不起作用,但下载和编码crx文件起作用。谢谢你的帮助!
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)
cprof <- list(
  chromeOptions = 
    list(extensions = 
           list(base64enc::base64encode("/Users/admin/Downloads/Adguard-AdBlocker_v2.5.11.crx"))
    )
)
rD <- rsDriver(verbose = F, extraCapabilities = cprof)
remDr <- rD$client