如何在从 "execute_script" 返回的 "Selenium::WebDriver::Element" 实例上调用 Capybara 输入 `.set` 方法?
How do I call the Capybara input `.set` method on the "Selenium::WebDriver::Element" instance returned from "execute_script"?
我用的是水豚
我调用 execute_script
来执行 JS 代码 returns 一些数据包括 DOM 个节点。
其中一些节点是 <input>
,我需要在它们上调用 .set
,就像我通常在 find("input")
.
搜索它们时所做的那样
但我明白了
NoMethodError Exception: undefined method `set' for #<Selenium::WebDriver::Element:
因为它不是 Capybara::Node::Element
class。
我能否以某种方式将元素转换为 Capybara::Node::Element
class 以便能够调用该方法,或者我应该做其他事情吗?
你不应该使用 execute_script
到 return 东西。如果您在 returning 项目时使用 evaluate_script
,它们应该自动包装
我用的是水豚
我调用 execute_script
来执行 JS 代码 returns 一些数据包括 DOM 个节点。
其中一些节点是 <input>
,我需要在它们上调用 .set
,就像我通常在 find("input")
.
但我明白了
NoMethodError Exception: undefined method `set' for #<Selenium::WebDriver::Element:
因为它不是 Capybara::Node::Element
class。
我能否以某种方式将元素转换为 Capybara::Node::Element
class 以便能够调用该方法,或者我应该做其他事情吗?
你不应该使用 execute_script
到 return 东西。如果您在 returning 项目时使用 evaluate_script
,它们应该自动包装