Ruby on rails Rails Watir Webdriver-选择选项不工作
我正在Rails中编写web scraper,无法让Watir从select标记中选择选项。我尝试了多种变体,但所有人都认为这应该有效:Ruby on rails Rails Watir Webdriver-选择选项不工作,ruby-on-rails,selenium,web-scraping,watir-webdriver,Ruby On Rails,Selenium,Web Scraping,Watir Webdriver,我正在Rails中编写web scraper,无法让Watir从select标记中选择选项。我尝试了多种变体,但所有人都认为这应该有效: browser.select_list(:id, "system").select("PC") 我已经测试过,以确保选择框和值都存在,我已经使用睡眠延迟单击以允许加载所有内容,我已经使用了。当你存在时,我在pry中尝试过,我可以在pry中设置和取消设置复选框,并看到实时效果,而不是选择框的情况,我没有想法。没有错误消息,它只是不起任何作用 以下是完整的代码:
browser.select_list(:id, "system").select("PC")
我已经测试过,以确保选择框和值都存在,我已经使用睡眠延迟单击以允许加载所有内容,我已经使用了。当你存在时,我在pry中尝试过,我可以在pry中设置和取消设置复选框,并看到实时效果,而不是选择框的情况,我没有想法。没有错误消息,它只是不起任何作用
以下是完整的代码:
require 'watir-webdriver'
require 'pry'
browser = Watir::Browser.new
browser.goto 'http://www.co-optimus.com/games.php'
browser.div(id: "system-modal").link(class: "close-reveal-modal").click
sleep 5
browser.select_list(:id, "system").when_present.select("PC")
sleep 1
browser.checkbox(id: "couch").when_present.set
sleep 2
browser.link(text: "Find Games").when_present.click
首先,watir webdriver已被watir弃用。如果您使用gem watir,~>6.0.0,则不需要包括出现或睡眠时间 这对我来说很管用,现在默认使用Chrome
require 'watir'
browser = Watir::Browser.new
browser.goto 'http://www.co-optimus.com/games.php'
browser.div(id: "system-modal").a.click
browser.select_list(id: "system").select("PC")
browser.checkbox(id: "couch").set
browser.button(text: "Find Games").click
使用browser=Watir::browser.new:firefox在我的屏幕上实际上给了我一个问题,点击Find Games我需要做一个解决办法来通过javascript覆盖,但是使用select列表就可以了。Firefox50也是如此
使用早期版本的Firefox和geckodriver的选择列表存在一些问题,因此您可能需要使用Chrome或更新您的Firefox版本。您使用的Firefox版本是什么?在Geckodriver v0.11.1 win32上使用Firefox v50.1.0时,您的代码对我来说工作正常。由于另一个项目的限制,我使用的是早期版本。泰特斯福特纳的解决方案对我很有效,我想为什么人们对这个问题投反对票?我问的方式有问题吗?很好,谢谢!我一定是从一本旧教程中阅读了我们的最新文档,以及在哪些地方添加了新内容:如果您愿意,也可以在Selenium Slack的Watir频道上与我们交谈: