Как мне вызвать входной метод `.set` для Capybara в экземпляре« Selenium :: WebDriver :: Element », возвращаемом из« execute_script »? - PullRequest
0 голосов
/ 14 января 2019

Я использую Капибару.
Я вызываю execute_script для выполнения кода JS, который возвращает некоторые данные, включая узлы DOM.
Некоторые из этих узлов <input> s, и мне нужно вызвать .set на них, как обычно, когда я ищу их, например find("input").

Но я получаю

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

потому что это не Capybara::Node::Element класс.

Могу ли я как-нибудь привести элемент к классу Capybara::Node::Element, чтобы иметь возможность вызывать метод, или мне следует сделать что-то еще?

1 Ответ

0 голосов
/ 14 января 2019

Вы не должны использовать execute_script, чтобы вернуть вещи. Если вместо этого вы используете evaluate_script при возврате предметов, они должны автоматически обернуться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...