使用Selenium和Ruby选择单选按钮

时间:2011-07-08 16:06:35

标签: ruby scripting selenium watir firewatir

好的,我知道这听起来像是一个非常基本的问题,我知道有文档解释如何做到这一点,但是我没有运气这么做。

所以说我使用Selenium在Ruby中创建我的驱动程序:

driver = Selenium::WebDriver.for :firefox, :profile => profile

假设我想单击一个链接,这可以使用以下语法正常工作:

driver.find_element(:class => "button").click

但是,如果我想选择某些表格中的某个单选按钮,如:

<td valign="middle"><input type="radio" NAME="TESTNAME" VALUE="TESTVALUE1"  ></td>
<td valign="middle"><input type="radio" NAME="TESTNAME" VALUE="TESTVALUE2"  ></td>
<td valign="middle"><input type="radio" NAME="TESTNAME" VALUE="TESTVALUE2"  ></td>

如果我想查看“TESTVALUE2”,我似乎无法这样做。例如以下行:

driver.find_element(:name => "TESTNAME").send_keys("TESTVALUE2")

所以我缺少一些用于Ruby的方法吗?有人可以举例说明如何做到这一点吗?再次感谢。

3 个答案:

答案 0 :(得分:1)

不确定为什么Watir标签会出现在这个问题上,但我会从这个角度做出回应。如果您使用Watir-Webdriver,它将webdriver后端与Watir API结合使用,您可以执行类似这样的操作来加载正确的gem并创建firefox浏览器对象的实例

require "rubygems"
require "watir-webdriver"
require "watir-webdriver/extensions/wait"

browser = Watir::Browser.new :firefox

然后,一旦您导航到该页面,要将单选按钮设置为打开,您将使用

browser.radio(:value, 'TESTVALUE2').set

许多使用Ruby编码的人更喜欢Watir api,因为它似乎被认为比Selenium(更多Java-esq)更多'Ruby-esq'

有关watir-webdriver的更详细介绍,请参阅:http://watirmelon.com/2010/12/14/watir-webdriver-a-detailed-introduction/

答案 1 :(得分:0)

我自己不是硒用户,但我希望有一些与

相符的内容
driver.find_element(:name => "TESTNAME", :value => "TESTVALUE2").check

以达到预期的效果。

答案 2 :(得分:-3)

driver.find_element(:id, 'TEST_ID').click