Ошибка NoSuchWindow, когда я пытаюсь использовать вход в Facebook с помощью RSelenium
Я пытаюсь войти на сайт, который использует вход в facebook, используя RSelenium. Я могу ввести свой адрес электронной почты и пароль и нажать «Войти», но затем возвращает ошибку «NoSuchWindow». Это потому, что вкладка входа в Facebook автоматически закрывается? Как я могу предотвратить эту ошибку?
rm(list = ls())
library(RSelenium)
library(keyring)
library(rvest)
library(magrittr)
# Start Selenium Session
#docker run -d -p 4445:4444 selenium/standalone-firefox
remDr <- RSelenium::remoteDriver(remoteServerAddr = "localhost",
port = 4445L,
browserName = "firefox")
remDr$open()
remDr$navigate("https://www.furimawatch.net/signin/")
remDr$findElement('xpath', '//*[@id="btnTermsAgree"]')$clickElement()
remDr$findElement('xpath', '//*[@id="btnFacebookSignin"]')$clickElement()
remDr$switchToWindow(setdiff(remDr$getWindowHandles(), remDr$getCurrentWindowHandle())[[1]])
remDr$findElement('xpath', '//*[@id="email"]')$sendKeysToElement(list("email"))
remDr$findElement('xpath', '//*[@id="pass"]')$sendKeysToElement(list("password"))
remDr$findElement('xpath', '//*[@id="loginbutton"]')$clickElement()
remDr$screenshot(display = TRUE)
Это возвращает следующую ошибку:
Selenium message:Browsing context has been discarded
Build info: version: '4.3.0', revision: 'a4995e2c09*'
System info: host: '0d8a70d5e451', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '5.10.104-linuxkit', java.version: '11.0.15'
Driver info: driver.version: unknown
Error: Summary: NoSuchWindow
Detail: A request to switch to a different window could not be satisfied because the window could not be found.
class: org.openqa.selenium.NoSuchWindowException
Further Details: run errorDetails method
1 ответ
Вы сталкиваетесь
NoSuchWindow
ошибка, так как контекст просмотра был отброшен из-за несовместимости между версиями двоичных исполняемых файлов (WebDriver и браузер).
Этот симптом отражается в виде:
Driver info: driver.version: unknown
что означает, что версия веб-драйвера не может быть распознана из-за несовместимости.
Следование матрице совместимости решит проблему.