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')";
我的 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')";