Подтвердить что ты не робот

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"])
    

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

Любые мысли о том, где я мог бы смотреть или что может происходить, будут очень признательны.

4b9b3361

Ответ 1

Если jQuery находится на странице, вам, скорее всего, придется использовать функцию оценки для входа в контекст страницы. CasperJS имеет эту диаграмму http://docs.casperjs.org/en/latest/_images/evaluate-diagram.png http://phantomjs.org/api/webpage/method/evaluate.html

Выполнение изолировано, веб-страница не имеет доступа к phantomобъект, и он не может исследовать собственную настройку.