ReferenceError: Невозможно найти переменную: jQuery с помощью Poltergeist/Capybara
Что я пытаюсь сделать
Я пытаюсь использовать capybara с poltergeist для входа в amazon по этому URL-адресу...
https://developer.amazon.com/rp/sales.html
Достаточно просто, за исключением того, что когда я пытаюсь отправить форму, я получаю ошибку... ReferenceError: Не удается найти переменную: jQuery...
Однако источник для jQuery находится на странице и должен быть загружен.
Код, который я использую для входа в систему, это...
visit "https://developer.amazon.com/rp/sales.html"
fill_in('ap_email', with: user)
fill_in('ap_password', with: password)
click_on('signInSubmit-input')
Отправить триггеры вызова javascript для проверки ввода. В этом случае используется jQuery, и когда это происходит, возникает ошибка.
Что я ожидал
Я ожидал, что когда я посетил страницу входа, этот jquery был бы загружен другими javascripts на этой странице.
Я понятия не имею, почему jQuery не будет загружаться на данный момент. Phantomjs загрузил бы страницу и загрузил jQuery, на который ссылается страница, no?
Вещи, которые я пробовал
Сроки:
- Добавлен сон после посещения.
Проблема с конфигурацией?
-
Моя текущая конфигурация
include Capybara::DSL
Capybara.default_driver = :poltergeist
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, phantomjs: Phantomjs.path)
end
Capybara.ignore_hidden_elements = false
-
Попытка принудительно загрузить jQuery
Capybara::Poltergeist::Driver.new(app,
phantomjs: Phantomjs.path,
extensions: ["handlers/jquery.js"])
Я пробовал немало вещей, пытаясь понять, что происходит, но я прихожу пустым.
Любые мысли о том, где я мог бы смотреть или что может происходить, будут очень признательны.
Ответы
Ответ 1
Если jQuery находится на странице, вам, скорее всего, придется использовать функцию оценки для входа в контекст страницы. CasperJS имеет эту диаграмму http://docs.casperjs.org/en/latest/_images/evaluate-diagram.png
http://phantomjs.org/api/webpage/method/evaluate.html
Выполнение изолировано, веб-страница не имеет доступа к phantomобъект, и он не может исследовать собственную настройку.