繁体   English   中英

硒和铬

[英]RSelenium and Chrome

我无法在 Rselenium 的帮助下打开 Chrome。 当我使用 Firefox 时一切正常。 由于以下错误,已尝试为 77 ( https://chromedriver.storage.googleapis.com/index.html?path=77.0.3865.10/ ) 安装 chromedriver:

Selenium message:session not created: This version of ChromeDriver only supports Chrome version 77
Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10'
System info: host: 'DESKTOP-L8K5E4H', ip: 'xxx', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_211'
Driver info: driver.version: unknown
remote stacktrace: Backtrace:

我按照链接下的帖子中包含的步骤进行操作: How to open Google Chrome with RSelenium?

来自链接的代码:

library("RSelenium")
startServer()
mybrowser <- remoteDriver(browserName = "chrome")
mybrowser$open()

我的代码:

library("RSelenium")
    rD <- rsDriver(port=4444L,browser="chrome")
    mybrowser <- remoteDriver(browserName = "chrome") 
    mybrowser$open()

两者都错误地工作。 我仍然收到错误,例如与错误的 chromedriver 版本相关的开始。 我正在寻找在 chrome 上运行应用程序的解决方案。 我的 Google Chrome 版本 76.0.3809.132(64 位)

您可以通过在 Docker 容器中运行浏览器来避免 RSelenium 的此类和类似问题。 那么您就不需要任何驱动程序,并且您的代码将来可以运行的可能性更高。 当您使用 macOS 时,特别推荐这样做。 出于安全原因,操作系统设置了障碍来防止远程控制浏览器。

  1. 下载并安装 Docker。

  2. 通过在终端中输入以下命令来拉取 Chrome 的 Docker 映像。

     docker pull selenium/standalone-chrome -debug

    您现在应该在 Docker 的“Images”下看到“standalone-chrome”。 在图像上单击“运行”以创建一个新容器。 选择“Optional Setting”,将“Local Host”设置为4445,添加第二个带“+”的端口,设置为5899,运行即可。

  3. 对于 Web 抓取,通常需要查看浏览器的行为。 要查看 Docker 容器内部,请安装 VNC 查看器。 然后启动 VNC 查看器并在 Docker 容器运行时连接到“127.0.0.1:5899”。 密码默认为“secret”。

  4. 安装RSelenium并执行以下四行。 您可以通过使用 VNC 查看器查看容器内部来查看它是否有效。 您应该会看到您选择的网站。

     library(RSelenium) remDr <- rsDriver(port=4445L) remDr$open() remDr$navigate(url)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM