【问题标题】:RSelenium and ChromeRS硒和铬
【发布时间】:2019-09-03 15:27:49
【问题描述】:

我无法在 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 位)

【问题讨论】:

标签: r google-chrome rselenium


【解决方案1】:

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

  1. Download 并安装 Docker。

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

     docker pull selenium/standalone-chrome -debug
    

    您现在应该在 Docker 的“图像”下看到“独立铬”。在 图像单击“运行”以创建一个新容器。选择“可选 设置”,将“本地主机”设置为 4445,并添加第二个端口 “+”,设置为5899。运行它。

  3. 对于网页抓取,通常需要查看浏览器的行为方式。要查看 Docker 容器内部,download and install the VNC Viewer。然后启动 VNC 查看器并在 Docker 容器运行时连接到“127.0.0.1:5899”。密码默认为“秘密”。

  4. 安装 RSelenium 并执行以下四行。您可以通过使用 VNC 查看器查看容器内部来查看它是否有效。您应该看到由“url”定义的您选择的网站,例如“https://www.qwant.com”。

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

【讨论】:

    猜你喜欢
    • 2016-12-17
    • 2020-07-01
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多