gpt4 book ai didi

python - 从 R 或 python 运行 yaml 文件以进行并行 Selenium 测试

转载 作者:太空狗 更新时间:2023-10-30 01:31:50 25 4
gpt4 key购买 nike

我有一个简单的 yaml 文件:

seleniumhub:
image: selenium/hub
ports:
- 4444:4444

firefoxnode:
image: selenium/node-firefox-debug
ports:
- 4577
links:
- seleniumhub:hub

chromenode:
image: selenium/node-chrome-debug
ports:
- 4578
links:
- seleniumhub:hub

我在 docker 中执行过:

docker-compose up -d

我有一个集线器和两个节点在运行。

现在我想并行运行两个非常简单的 selenium 命令(用 RSelenium 编写):

remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(display = TRUE)

我想知道如何在 Python 或 R 中并行运行上述 selenium 命令。我尝试了几种方法,但都没有用。例如在 R 中:

library(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4444L)
remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(display = TRUE)

什么都不做。我还尝试运行两个 remoteDrivers,但这对以太没有帮助:

remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4577L)
remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(display = TRUE)

最佳答案

这是

的副本

Run RSelenium in parallel

您可以使用上述答案中的代码进行并行执行

library(RSelenium)
library(rvest)
library(magrittr)
library(foreach)
library(doParallel)

URLsPar <- c("http://www.bbc.com/", "http://www.cnn.com", "http://www.google.com",
"http://www.yahoo.com", "http://www.twitter.com")
appHTML <- c()

(cl <- (detectCores() - 1) %>% makeCluster) %>% registerDoParallel
# open a remoteDriver for each node on the cluster
clusterEvalQ(cl, {
library(RSelenium)
remDr <- remoteDriver$new(remoteServerAddr = ip, port = port)
remDr$open()
})
myTitles <- c()
ws <- foreach(x = 1:length(URLsPar), .packages = c("rvest", "magrittr", "RSelenium")) %dopar% {
remDr$navigate(URLsPar[x])
remDr$getTitle()[[1]]
}

# close browser on each node
clusterEvalQ(cl, {
remDr$close()
})

stopImplicitCluster()

关于python - 从 R 或 python 运行 yaml 文件以进行并行 Selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48595858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com