Ruby环境下Selenium Webdriver无法识别navigate对象报错求助
问题修复方案
核心错误点
你代码里的浏览器驱动初始化写法错误,拿到的是驱动类而非可操作的浏览器实例,因此get、navigate这类实例方法全部无法正常调用。
具体修复步骤
- 修正驱动初始化代码
把原有代码里的
替换为:driver = Selenium::WebDriver::Firefox
这行代码会完成Firefox浏览器启动和驱动实例初始化,之后就能正常调用各类操作方法。driver = Selenium::WebDriver.for :firefox - 修正navigate相关用法
Selenium Ruby绑定中没有navigate.go这个写法,navigate实例的常用方法如下:- 跳转指定URL:
driver.navigate.to "https://example.com",作用和driver.get完全一致 - 页面回退:
driver.navigate.back - 页面前进:
driver.navigate.forward - 刷新当前页:
driver.navigate.refresh
- 跳转指定URL:
- 依赖检查
你只需提前装好两个必要依赖,不需要额外gem:- 安装selenium-webdriver gem:执行命令
gem install selenium-webdriver即可 - 安装Firefox对应驱动geckodriver:下载和你本地Firefox版本匹配的geckodriver,放到系统PATH路径中就能被自动识别
- 安装selenium-webdriver gem:执行命令
内容的提问来源于stack exchange,提问作者geekgurl36
相关产品推荐
相关产品推荐

