我已经阅读了具有相同错误的其他帖子,但没有一个给我一个可用的解决方案。
我有一个轨道应用程序:
宝石版本
Rails 6.0.2.1
ruby 2.6.5p114
宝石锁
watir (6.16.5)
regexp_parser (~> 1.2)
selenium-webdriver (~> 3.6)
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
铬驱动程序
ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614})
当我用 watir 执行此操作时:
browser.select_list(id:'car_type').select('ford')
or
browser.button(xpath: '//div/ul/li[2]/button').click
我得到以下错误,重复,循环:
WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotVisibleError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.
我假设我使用了错误的命令或错误的网络驱动程序。 如何解决此问题?在哪里可以找到替换当前命令的未折旧推荐?
此错误绝对不是您的问题。瓦蒂尔仍然没有完全移动。它们将很快被正确的例外所取代。但暂时,如果您不想看到此警告,请转到
C:Ruby26librubygems2.6.0gemswatir-6.16.5libwatirelements
在找到 element.rb 文件的位置,搜索Selenium::WebDriver::Error::ElementNotVisibleError
此异常并替换为Selenium::WebDriver::Error::ElementNotInteractableError
,则不会通知您并发出警告。您可能会问我为什么他们发出警告而不是替换它,那是因为有些人仍然可能使用旧的chrome驱动程序,这就是为什么他们首先设置警告消息,然后他们会根据W3C标准用新异常替换旧异常。
Watir 似乎自 2018 年以来就没有更新过,因此使用了您无法升级的旧硒宝石。
因此,我切换到水豚,它解决了这个问题。这不是一个真正的解决方案,但这是我的情况最简单的解决方案。