如何在从“ execute_script”返回的“ Selenium :: WebDriver :: Element”实例上调用Capybara输入的“ .set”方法?

时间:2019-01-14 15:31:08

标签: ruby selenium-webdriver capybara

我使用水豚。
我调用execute_script来执行JS代码,该代码返回一些数据,包括DOM节点。
其中一些节点是<input>,我需要像在搜索.set这样的节点时像往常一样在它们上调用find("input")

但是我明白了

NoMethodError Exception: undefined method `set' for #<Selenium::WebDriver::Element:

因为它不是Capybara::Node::Element类。

我可以通过某种方式将元素强制转换为Capybara::Node::Element类,以便能够调用该方法,还是应该做其他事情?

1 个答案:

答案 0 :(得分:0)

您不应该使用execute_script来返回东西。如果您在退回物品时改用evaluate_script,则它们应该自动包装