好的,我知道这听起来像是一个非常基本的问题,我知道有文档解释如何做到这一点,但是我没有运气这么做。
所以说我使用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的方法吗?有人可以举例说明如何做到这一点吗?再次感谢。
答案 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