我像这样使用 docker 运行 Selenium:
docker run -d -p 4445:4444 selenium/standalone-firefox:2.53.1
以下 R 脚本中的这一行remDr$findElement(using = "class", "percent")
工作正常。
library("tidyverse")
library("RSelenium")
# A Selenium server has to be running
# Works with: docker run -d -p 4445:4444 selenium/standalone-firefox:2.53.1
# Fails with: docker run -d -p 4445:4444 selenium/standalone-firefox:latest
remDr <- remoteDriver(port = 4445L)
remDr$open()
remDr$navigate("https://www.alternabank.ca/everyday-banking/high-interest-esavings")
webElem <- remDr$findElement(using = "class", "percent")
tmp <- webElem$getElementText()
remDr$close()
我杀死那个容器并做:docker run -d -p 4445:4444 selenium/standalone-firefox:latest
然后再次运行相同的代码。这会导致错误:
> webElem <- remDr$findElement(using = "class", "percent")
Error in .self$value[[1]] : subscript out of bounds
为什么是这样?如何让我的旧代码与最新版本的 Firefox 一起使用。我需要更新的版本才能使其他一些事情起作用。
我还看到 linux 进程的名称从“firefox”更改为“Gecko”。