我正在尝试将 RSelenium 与 Docker 一起使用,一切似乎都在工作,只是我看不到 firefox 浏览器。我认为我的代码中没有任何内容要求它是无头的,但情况必须如此。有没有办法让它像使用时一样可见RSelenium::startServer()?
我通过本文中的说明安装了 docker,https://www.raynergobran.com/2017/01/rselenium-mac-update/
我去了终端并输入:docker run -d -p 4445:4444 selenium/standalone-firefox没有问题。
我转到 R 并运行此代码:
library(RSelenium)
remDr <- remoteDriver(port=4445L, browserName = "firefox")
remDr$open()
remDr$getStatus()
remDr$navigate("https://www.google.com/")
remDr$getCurrentUrl()
Run Code Online (Sandbox Code Playgroud)
最后一个命令的输出符合预期:
[[1]]
[1] "https://www.google.com/"
Run Code Online (Sandbox Code Playgroud)
查看 之后的输出时remDr$open(),headless 设置为 false:
[1] "Connecting to remote server"
$`moz:profile`
[1] "/tmp/rust_mozprofile.EQnMfPLPKS4l"
$rotatable
[1] FALSE
$timeouts
$timeouts$implicit
[1] 0
$timeouts$pageLoad
[1] 300000
$timeouts$script
[1] 30000
$pageLoadStrategy
[1] "normal"
$`moz:headless`
[1] FALSE
$`moz:accessibilityChecks`
[1] FALSE
$acceptInsecureCerts
[1] FALSE
$browserVersion
[1] "58.0.2" …Run Code Online (Sandbox Code Playgroud) 我在R中推进并且在第一次成功地使用lapply来加载一个名为ImportData()的函数中的文件.工作职能是:
AllData <- lapply(files, function(i){
read.csv(i, stringsAsFactors = FALSE)
})
Run Code Online (Sandbox Code Playgroud)
AllData是包含4个数据帧的列表.在未来,它将包含更多.
函数中有两个for循环,我想用lapply替换.第一个是将日期和时间列组合成一个时间戳的循环.我正在抛弃我创建应用功能.
for (i in 1:length(AllData))
{
AllData[[i]]$Date <- strptime(paste(AllData[[i]]$Date, AllData[[i]]$Time), "%m/%d/%y %H:%M:%S")
AllData[[i]] <- AllData[[i]][-2]
}
Run Code Online (Sandbox Code Playgroud)
最后一个循环就是这个.names(AllData)是长度为4的字符向量.
for (i in 1:length(names(AllData)))
{
cat("Time Frame: ", names(AllData)[i], "\n")
trade(AllData[[i]])
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下扔我的是[[i]].我似乎无法通过lapply工作.
谢谢您的帮助.
我在csv中读到了一个数据框,如下所示:
data <- read.csv("Prices.csv", stringsAsFactors = FALSE)
data$Timestamp <- as.POSIXct(data$Timestamp, format="%m/%d/%y %H:%M")
Run Code Online (Sandbox Code Playgroud)
我尝试使用下面但是删除了小时和分钟数据这是我的问题.如何与as.Date一起使用但保留所有信息?
data$Timestamp <- as.Date(data$Timestamp, format="%m/%d/%y %H:%M")
Run Code Online (Sandbox Code Playgroud)
这是使用上面的as.POSIXct命令的数据$ Timestamp看起来很好:
head(data$Timestamp)
[1] "2013-11-01 09:31:00 EDT" "2013-11-01 09:32:00 EDT" "2013-11-01 09:34:00 EDT" "2013-11-01 09:35:00 EDT"
[5] "2013-11-01 09:36:00 EDT" "2013-11-01 09:37:00 EDT"
Run Code Online (Sandbox Code Playgroud)
这是原始csv文件中的一些数据点:
Timestamp
11/1/13 9:31
11/1/13 9:32
11/1/13 9:34
11/1/13 9:35
11/1/13 9:36
11/1/13 9:37
Run Code Online (Sandbox Code Playgroud)
谢谢.
我慢慢地,但肯定通过java工作,并得到一个程序工作.但是,我使用的程序包含main方法中的所有代码,我想使用其他方法来保持更好的组织.
我的问题非常简单,所以我将使用最简单的例子.说我想创建一个这样的Hello World程序:
public class HelloWorld {
public static void main(String[] args) {
Test();
}
public void Test(){
System.out.println("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud)
如何在java中正确调用Test()?我写它的方式会产生编译错误.我来自R,这将允许这样的事情.
谢谢.