是否有可能在selenium webdriver ruby​​中逐个获取?

时间:2015-06-24 06:53:19

标签: ruby selenium-webdriver

我有一个这样的课程:

<div class="qa-share-message ng-isolate-scope ng-valid ta-root
ng-dirty focussed" ng-model="message" text-angular="">

我想输入此字段。我试过这个:

driver.find_elements(:class, "qa-share-message").send_keys("This is a test message")

运行代码后显示错误:

undefined method `send_keys' for [#<Selenium::WebDriver::Element:0x65990040 id="33">]:Array

是否可以按类获取元素?

1 个答案:

答案 0 :(得分:0)

你明显得到元素 s 。看:

  

未定义的方法`send_keys'[#Selenium :: WebDriver :: Element:0x65990040 id =“33”]:Array

上面的错误清楚地说明:对find_elements的调用成功并返回了Array个实例,其中包含Element个。您现在需要的是send_keys到每个找到的元素:

driver.find_elements(:class, "qa-share-message").each do |e|
  e.send_keys("This is a test message")
end

或将其发送给其中一个,例如到第一个:

driver.find_elements(:class, "qa-share-message")
      .first
      .send_keys("This is a test message")