2015-06-24 59 views
0

我有这样一个类:在selenium webdriver ruby​​中可以通过类来获取元素吗?

<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 

是否有可能通过类来获取元素?

+0

如果您只查找一个元素,或许您打算使用'find_element'而不是'find_elements'? –

+0

尝试find_element但注意发生。这行被跳过,代码的其余部分被执行。在控制台中也没有错误。 – Sakib

回答

0

您明显是得到了元素s按类。看:

undefined method `send_keys' for [# 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") 
+0

试过你的代码,但没有希望。它看起来像这个语句已被跳过,因为没有错误。 – Sakib

+0

你有没有问过:“是否有可能通过课堂获得元素?”上面的答案正确地回答了这个问题。无论您是否有其他问题,请将它们分开发布。 – mudasobwa

相关问题