【发布时间】:2013-01-24 22:34:05
【问题描述】:
我想使用 Ruby 和 watir-webdriver 从下拉框中选择值。这是命令
browser.select_list(:id, "ctl00_SampleContent_ComboBox1_ComboBox1_OptionList").select("Whiskey")
我得到了一个错误 无法定位元素,使用 {:id=>"ctl00_SampleContent_ComboBox1_ComboBox1_OptionList", :tag_name=>"select"}
任何想法有什么问题吗? 这是完整的代码:
# 1.Open http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Default.aspx
#browser = Watir::Browser.new
#browser = Watir::Browser.new :ie
profile = Selenium::WebDriver::Firefox::Profile.from_name 'WatirWebDriver'
#profile.add_extension 'autoauth-2.1-fx+fn.xpi'
browser = Watir::Browser.new :firefox, :profile => profile
browser.goto 'http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Default.aspx'
#2.Click ComboBox link on the left pane of the page
browser.a(:id, 'ctl00_SamplesLinks_ctl15_SamplesLink').click
#3.Verify that http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ComboBox/ComboBox.aspx URL opened
if browser.url.eql? "http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ComboBox/ComboBox.aspx"
puts "Error loading page \"http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ComboBox/ComboBox.aspx URL opened\""
return false
end
#4.Select “Whiskey” in the combo-box
#browser.select_list(:id, 'ctl00_SampleContent_ComboBox1_ComboBox1_OptionList').select_value('Whiskey')
puts "!!!"
browser.select_list(:id, "ctl00_SampleContent_ComboBox1_ComboBox1_OptionList").when_present.select("Whiskey")
【问题讨论】:
-
您能否也粘贴 HTML 中 Watir-webdriver 无法定位的元素?
-
如果我按照您用来进入演示组合框页面的链接,为我出现的选择列表的 id 为:“ctl00_SampleContent_ComboBox1_ComboBox1_TextBox”...和一种“文本”.. . 这可以解释为什么您的代码不起作用,但也许我无法与您访问同一页面,这就是为什么我要求您提供您尝试与之交互的 HTML 示例。
-
这里是没有其他选择的代码:
- ...
- 威士忌 ...
-
Abe Heward 你明白了:我需要去那个网站选择“威士忌”并检查我是否选择了“威士忌”
-
Željko 的答案是正确的。
标签: ruby watir-webdriver