【发布时间】:2017-10-03 04:58:54
【问题描述】:
Rselenium 的新手,使用 Chrome 进行调试,然后将转移到 PhantomJS 进行生产(只是因为我可以循环运行脚本而不会弹出浏览器窗口)。
我正在尝试抓取一个具有非常普通的身份验证弹出窗口的 https 网站。当我使用 Chrome 时,我可以使用 https://user:pass@www.somewebsite.com 格式。但是,似乎当我使用 phantomjs 时,这不起作用。有没有一种使用 RSelenium 来驱动 PhantomJS 的管道输入凭据的好方法?
如果没有,有更好的方法吗?具有讽刺意味的是,我可以使用 rvest/httr 登录到该站点...问题是它是如此的 java-heavy 以至于我真的需要 RSelenium 来导航并最终获取我需要的数据。
一些示例代码,但很遗憾我无法提供我所引用的受密码保护的网站:
library(RSelenium)
library(httr)
library(wdman)
selCommand<-wdman::selenium(jvmargs = c("-Dwebdriver.chrome.verboseLogging=true"),
retcommand = TRUE)
cat(selCommand)
#start Selenium server via shell script
remDr <- remoteDriver(port = 4567L, browserName = "chrome")
#remDr <- remoteDriver(port = 4567L, browserName = "phantomjs")
remDr$open()
remDr$navigate("https://user:pass@www.somewebiste.com") #works with chrome,
#does not work with PhantomJS
任何帮助表示赞赏,并感谢。
【问题讨论】:
标签: r selenium phantomjs rvest