Capybara - 无法点击链接

use*_*183 5 ruby tdd bdd rspec capybara

我正在使用 Capybara 2.4.4 单击链接。html是这样的:

<a name="skiplink" id="skiplink" type="button" href="javascript:void(0);" onclick="skipForm(); return false;">salta</a>
Run Code Online (Sandbox Code Playgroud)

水豚命令:

find("a", :text => "salta").click
find('skiplink').click
Run Code Online (Sandbox Code Playgroud)

两者都不起作用:

Failure/Error: find("a", :text => "salta").click
     NoMethodError:
       undefined method `empty?' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

我已经从save_and_open_page输出中复制粘贴了 html,所以它可能是正确的

我正在使用默认驱动程序(无硒)

谢谢

Tho*_*ole 5

以下任何一项都应该有效

click_on('salta')
find(:css, '#skiplink').click   # the :css is only necessary if you've changed capybaras default selector
Run Code Online (Sandbox Code Playgroud)

您的 find("a", :text => "salta").click 也应该可以工作——但是当使用 capybaras 默认驱动程序(racktest)时,点击 javascript 链接将不起作用,因为驱动程序不支持 javascript。您需要切换到支持 javascript 的其他驱动程序(selenium、capybara-webkit、poltegeist 等)