Ruby / Capybara - 如何在 Capybara 中使用 JQuery 命令

Ruby / Capybara - How to use a JQuery command in Capybara

我的 Chrome 控制台中有以下 JQuery 脚本。但是,当我在我的 Capybara 测试中使用它时,它不起作用。我做错了什么?

在我的控制台中运行的脚本

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

我的水豚测试中的脚本。没用

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

终端MAC错误 Failure/Error: page.execute_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)

看来您需要对引号进行转义;您在水豚脚本示例中嵌套了 2 组双引号。

您可以尝试转义 tabImages 周围的引号:

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