# File lib/capybara/xpath.rb, line 150 def add_field(locator, field, options={}) postfix = extract_postfix(options) xpath = append("#{field}[@id=#{s(locator)}]#{postfix}") xpath = xpath.append("#{field}[@name=#{s(locator)}]#{postfix}") xpath = xpath.append("#{field}[@id=//label[contains(.,#{s(locator)})]/@for]#{postfix}") xpath = xpath.append("//label[contains(.,#{s(locator)})]#{field}#{postfix}") xpath.prepend("#{field}[@id=//label[text()=#{s(locator)}]/@for]#{postfix}") end