使用Tor的RSelenium在Windows上的新版本问题

16

我发现@jdharrison在如何在Windows上使用RSelenium启动Tor方面给出了一个很棒的答案:https://dev59.com/EZrga4cB1Zd3GeqPggSG#39048970

然而,在新版本的RSelenium中,startServer()已经废弃,它的替代品rsDriver()不像之前的startServer()有java参数。

在新的RSelenium语法中,如何在Firefox中启动Tor呢?非常感谢(提前)!


这个行不行?https://github.com/ropensci/RSelenium/issues/156#issuecomment-346425906 - Tarun Lalwani
我在问题中看到过这个,但是当时没有重视它。让我查一下,仔细看看,这种方法肯定值得一试。谢谢你的帮助,Tarun! - Neal Barsch
1
没问题,看看我刚刚发布的答案,我认为那应该可以完成任务,不过你可能需要在启动服务器和打开驱动程序之间等待一段时间,以确保Selenium服务器已经启动。请参阅此链接:https://github.com/ropensci/RSelenium/blob/8667b1ab7074ee535588d8182ea61f8e698fd54b/R/rsDriver.R#L85 - Tarun Lalwani
谢谢你的帮助,我离成功很近了(如果我能成功,我会很高兴地奖励50分!)可能需要多长时间?我尝试了这个,已经忙了10分钟。我尝试通过selServ <- wdman::selenium(retcommand = FALSE, port = 4567L, check = FALSE, geckover = "0.19.1") rD <- rsDriver(browser = "firefox", port = 4567L, extraCapabilities = list( `moz:firefoxOptions` = list( binary = "C:/Users/Administrator/Desktop/Tor Browser/Browser/firefox.exe" # FF v56.0.2 x64 ) ))来启动。 - Neal Barsch
1
我在答案中发布的代码怎么样?它没有使用 moz:firefoxOptions,也可能不需要它。 - Tarun Lalwani
看看我的评论。离成功如此之近,令人垂涎! - Neal Barsch
1个回答

1
你可以自己启动Selenium服务器,而不是使用rsDriver
browserP <- "C:/Users/john/Desktop/Tor Browser/Browser/firefox.exe"
jArg <- paste0("-Dwebdriver.firefox.bin=\"", browserP, "\"")
pLoc <- "C:/Users/john/Desktop/Tor Browser/Browser/TorBrowser/Data/Browser/profile.meek-http-helper/"
jArg <- c(jArg, paste0("-Dwebdriver.firefox.profile=\"", pLoc, "\""))

wdman::selenium(jvmargs=jArg, selargs='any selenium args')
remDr <- remoteDriver(browserName ="firefox", port=4567L)
driver <- remDr$open()

为了梳理一下,我仍然直接运行你的代码出现Selenium message:Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line的错误。通过添加remDr <- remoteDriver(browserName = "firefox", port = 4567L, extraCapabilities = list( `moz:firefoxOptions` = list( binary = "C:/Users/Administrator/Desktop/Tor Browser/Browser/firefox.exe" ) ))后,我仍然收到Selenium message:connection refused的错误提示。 - Neal Barsch
1
好的,让我再试一次这个例子,虽然我没有Windows,但我认为Mac也应该是一样的。 - Tarun Lalwani
没有想法?它非常接近了,只是没有连接到浏览器。我认为我需要一些代理设置。我明天会处理它的。 - Neal Barsch
1
@NealBarsch,是的,我试过了,浏览器启动得很好,但我想marionette服务器和geckodriver之间的连接没有发生。这需要更多的调试时间,但恐怕我现在没有时间。 - Tarun Lalwani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接