我想每天使用RSelenium访问和抓取一个网站。我注意到的一点是,当我在普通的Chrome浏览器中打开网站时,我已经从上次访问网站时登录了。但是,如果我使用RSelenium打开一个远程驱动程序,并使用此驱动程序访问该网页,它已经没有我登录到该网站。它基本上足以登录大多数网站,但是对于这个网站来说,有一个Captcha使得登录更加困难。
无论如何,远程驱动程序可以在我登录后访问该网站吗?
我的代码示例如下:
this_URL = "my_url_goes_here"
startServer()
remDr = remoteDriver$new(browserName = 'chrome')
Sys.sleep(2); remDr$open();
Sys.sleep(4); remDr$navigate(this_URL);
login_element = remDr$findElement(using = "id", "login-link")
login_element$
点击login_element链接后,它会将我带到我输入用户名,密码的页面,然后点击验证码/执行它所要求的内容。
谢谢,
答案 0 :(得分:3)
它应该使用firefox和firefox配置文件,如下所示:
设置Firefxx访问: 像往常一样打开firefox并登录。确保当您关闭firefox并再次登录时,您仍然可以登录。
找出默认firefox配置文件的位置: 这应该是一些思考:(source + more details)
启动新的RSelenium驱动程序并按如下方式设置配置文件
- >
require(RSelenium)
eCap <- list("webdriver.firefox.profile" = "MySeleniumProfile")
remDr <- remoteDriver(browserName = "firefox", extraCapabilities = eCap)
remDr$open()
打开的firefox窗口应该是您选择的个人资料。
我刚才这样做了。如果我没记错的话就像这样。
P.S。:您还可以为此创建额外/新的firefox配置文件。为此,请按照上面链接中的步骤进行操作