Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 无法使用{:id=>“”,:tag_name=>“select”}定位元素_Ruby_Watir Webdriver - Fatal编程技术网

Ruby 无法使用{:id=>“”,:tag_name=>“select”}定位元素

Ruby 无法使用{:id=>“”,:tag_name=>“select”}定位元素,ruby,watir-webdriver,Ruby,Watir Webdriver,我想使用Ruby和watir webdriver从下拉框中选择值。这是命令 browser.select_list(:id, "ctl00_SampleContent_ComboBox1_ComboBox1_OptionList").select("Whiskey") 我犯了个错误 无法使用{:id=>ctl00\u SampleContent\u ComboBox1\u ComboBox1\u OptionList,:tag\u name=>select}定位元素 你知道怎么了吗? 以下是完

我想使用Ruby和watir webdriver从下拉框中选择值。这是命令

browser.select_list(:id, "ctl00_SampleContent_ComboBox1_ComboBox1_OptionList").select("Whiskey")
我犯了个错误 无法使用{:id=>ctl00\u SampleContent\u ComboBox1\u ComboBox1\u OptionList,:tag\u 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")
这就是工作:

require "watir-webdriver"
browser = Watir::Browser.new
browser.goto "http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ComboBox/ComboBox.aspx"
browser.button(id: "ctl00_SampleContent_ComboBox1_ComboBox1_Button").click
browser.ul(:id, "ctl00_SampleContent_ComboBox1_ComboBox1_OptionList").li(text: "Whiskey").click
这就是工作:

require "watir-webdriver"
browser = Watir::Browser.new
browser.goto "http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ComboBox/ComboBox.aspx"
browser.button(id: "ctl00_SampleContent_ComboBox1_ComboBox1_Button").click
browser.ul(:id, "ctl00_SampleContent_ComboBox1_ComboBox1_OptionList").li(text: "Whiskey").click

您还可以为Watir webdriver找不到的元素粘贴HTML吗?如果我按照您使用的链接进入demo combobox页面,出现的选择列表的id为:ctl00\u SampleContent\u ComboBox1\u ComboBox1\u TextBox。。。还有一种文字。。。这可以解释为什么你的代码不起作用,但也许我不知何故没有到达与你相同的页面,这就是为什么我要求你提供一个你试图与之交互的HTML示例。以下是没有其他选择的代码:。。。威士忌。。。Abe Heward你明白了吗?好吧,我需要去那个网站选择威士忌,然后检查我是否选择了威士忌?eljko’s是正确的答案。你能不能也为Watir webdriver找不到的元素粘贴HTML?如果我按照你使用的链接进入演示组合框页面,我看到的选择列表的id是:ctl00\样本内容\组合框1\组合框1\文本框。。。还有一种文字。。。这可以解释为什么你的代码不起作用,但也许我不知何故没有到达与你相同的页面,这就是为什么我要求你提供一个你试图与之交互的HTML示例。以下是没有其他选择的代码:。。。威士忌。。。Abe Heward你明白了吧:我需要去那个网站选择威士忌,看看我是否选择了威士忌,eljko's是正确的答案。太好了,一切都正常!!!非常感谢。一个小问题:browser.buttonid和。。。和浏览器。按钮:id,…没有区别。id:语法在Ruby 1.9.3中是新的。就这些。太好了,一切正常!!!非常感谢。一个小问题:browser.buttonid和。。。和浏览器。按钮:id,…没有区别。id:语法在Ruby 1.9.3中是新的。这就是全部。