我正在使用黄瓜和水豚来自动化网络应用程序。我必须从下拉列表中选择一个值,但很多时候我会收到类似的错误; “错误的参数类型String(期望的数组)(TypeError)”
我尝试过: 1。
second_option_xpath = ".//*[@id='selecttype']/option[2]"
second_option = find(:xpath, second_option_xpath).text
select(second_option, :from => 'selecttype')
2
select "Selenium Core", :from => 'selecttype'
3
page.find_and_select_option("selecttype", 2)
4
select( "selecttype", {"Selenium Core" => 2})
页面来源有点像:
<select id="selecttype">
<option value="Selenium IDE">Selenium IDE</option>
<option value="Selenium Code">Selenium Core</option>
<option value="Selenium RC">Selenium RC</option>
<option value="Selenium Grid">Selenium Grid</option>
</select>"
请说明我做错了什么?
由于
答案 0 :(得分:7)
你试过吗
page.select('Selenium Core', :from => 'selecttype')
答案 1 :(得分:0)
正如RobertH建议的那样,你应该使用像page.select这样的东西,其中page是一个Capybara :: Session实例。
当您在代码中调用select时,您正在调用内核模块的方法,该方法混合在每个类继承的基本Object类中。
此方法需要4个参数,其中3个是IO对象数组;这就是它抱怨错误论据的原因。