量角器:将webElement转换为elementFinder

时间:2014-03-10 16:09:29

标签: protractor

element.all()返回一个webelements数组。我希望能够进一步处理这些元素。例子是 element.all(by.something())。each(function(row){     var button = row.element(by.buttonWithText(“cancel”))。then(....

但当然,我不能使用row.element,因为row是webelement,而不是elementFinder。

有没有简单的方法将webElement转换为elementFinder?

我正在考虑将xpath添加到webElement,然后使用by.xpath(),但这看起来有点矫枉过正。

2 个答案:

答案 0 :(得分:1)

我很确定没问题,或者你可以试试这样的事情

ptor.findElements(protractor.By.tag('tr')).then(function(rows){
  rows[0].findElement(protractor.By.linkText('something')).click();
});

应该按照你的意愿工作,我在几个地方使用这个结构。如果你要使用findElement,这将以相同的方式工作,只是它不是一个数组,因此它将是..rows.findElement..etc

答案 1 :(得分:0)

str = "stackoverflow"

def conversion(str)
  arr = []
  str.upcase.gsub(/[A-Z]/){|m| arr << m.ord-64}
  return arr
end

应该返回一个ElementArrayFinder,您可以将其视为ElementFinders的数组,因此无需转换它。您可以在下面的链接中找到更多信息:

ElementArrayFinder Documentation