代码之家  ›  专栏  ›  技术社区  ›  drkvader

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

  •  0
  • drkvader  · 技术社区  · 5 年前

    下面的JQuery脚本在Chrome控制台中运行。然而,当我在水豚试验中使用它时,它就不起作用了。我做错什么了?

    在我的控制台中工作的脚本

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

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

    终端MAC错误 故障/错误:page.execute_脚本(脚本)

     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)
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   Jay Dorsey    5 年前

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

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

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