Ruby / Capybara - Как использовать команду JQuery в Capybara - PullRequest
1 голос
/ 17 марта 2019

У меня есть следующий скрипт JQuery, который работает в моей консоли Chrome.Тем не менее, он не работает, когда я использую его в моем тесте Капибара.Что я делаю не так?

Скрипт, который работает в моей консоли

$('#skuTabNavigation a[href="#tabImages"]').trigger('click');

Скрипт в моем тесте Capybara.Не работает

script = '$("#skuTabNavigation a[href="#tabImages"]").trigger("click")';
page.execute_script(script)

Ошибка MAC терминала Сбой / Ошибка: page.execute_script (script)

 Selenium::WebDriver::Error::UnknownError:
   unknown error: Runtime.evaluate threw exception: SyntaxError: missing ) after argument list
     (Session info: headless chrome=73.0.3683.75)
     (Driver info: chromedriver=2.46.628411 (3324f4c8be9ff2f70a05a30ebc72ffb013e1a71e),platform=Mac OS X 10.12.6 x86_64)

1 Ответ

1 голос
/ 17 марта 2019

Похоже, вам нужно уйти от кавычек; у вас есть 2 набора двойных кавычек, вложенных в ваш пример скрипта на капибаре.

Вы можете попытаться избежать кавычек вокруг tabImages:

script = "$('#skuTabNavigation a[href=\"#tabImages\"]').trigger('click')";
...