代理后面的RSelenium

时间:2018-05-17 09:43:48

标签: r selenium proxy http-proxy

我正在尝试使用RSelenium。这就是我在做的事情:

library(RSelenium)  
driver<- rsDriver(browser=c("chrome"))
remDr <- driver[["client"]]
remDr$open()

返回
$ ID
[1] NA

remDr$navigate("http://www.google.com")

(返回NULL)

remDr$getCurrentUrl()

返回空列表

我认为这个令人失望的结果可能是因为我支持公司代理。

如何将http代理传递给selenium浏览器?

谢谢

2 个答案:

答案 0 :(得分:4)

您需要使用extraCapabilities并使用相同的

设置代理
cprof <- list(chromeOptions = 
                  list(args = list("--proxy-server=http://118.69.61.212:53281")))

driver<- rsDriver(browser=c("chrome"), extraCapabilities = cprof)
driver$client$navigate("http://ipinfo.io")

你可以看到chrome现在使用代理配置

Chrome proxy

答案 1 :(得分:1)

我在Docker上使用RSelenium。

这是我的选择:

# connect to docker. 
# need to run in terminal (ctrl + alt + enter)
docker run -d -p  4445:4444 selenium/standalone-chrome:3.5.3
eCap <- list(chromeOptions = 
             list(args = list("--proxy-server=http://47.254.69.158:9999")))
remDr <- remoteDriver(remoteServerAddr = "localhost",
                  port = 4445L,
                  browserName = "chrome",
                  extraCapabilities = eCap)
remDr$open()
remDr$navigate("https://ipinfo.io/")
remDr$screenshot(display = TRUE)

所以我得到了这个this

如果仍然有问题,请尝试切换到其他代理和/或重新加载Docker。

希望这会很有用。