堆栈溢出,
这就是我想要做的
def get_element_from_list(root, item, index)
@browser.elements(:css => root).each do |element|
if element.present?
return element.element(:css => item, :index => index)
end
end
raise Selenium::WebDriver::Error::NoSuchElementError
end
get_element_from_list('div[class*=x-combo-list]', 'x-combo-list-item', index).click
给我Watir :: Exception :: MissingWayOfFindingObjectException:无效的属性::css
我不明白的是,如果我只是做
@browser.elements(:css => 'div[class*=x-combo-list]').each do |element|
if element.present?
return element.element(:css => 'x-combo-list-item', :index => index)
end
end
基本上用实际的字符串替换root和item,它可以正常工作而不会出错。
我认为可能存在一个错误,无法使用:css和:index locator来定位元素-发行241。
您可以通过获取元素集合,然后在特定索引处获取元素来解决此问题:
return element.elements(:css => 'x-combo-list-item')[index]
(请注意,我认为此css-selector可能是错误的。它可能是.x-combo-list-item
。)
或者,假设这x-combo-list-item
实际上是元素的类,则可以执行以下操作:
return element.element(:class => 'x-combo-list-item', :index => index)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句