簡體   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