gpt4 book ai didi

javascript - capybara 无法点击按钮

转载 作者:行者123 更新时间:2023-12-03 08:09:08 27 4
gpt4 key购买 nike

我对 capybara 和恶作剧很陌生,但这是我到目前为止所掌握的。

它找到了按钮但无法单击它。我已经尝试过“execute_script”,但由于 NotSupportedByDriverError,我也无法使其工作。我已经包含了 gem 'capybara-webkit' 但这并没有改变任何东西。

有问题的行:

assert page.execute_script("$('.js-login-action').click()"), "Failed to click on Login"

这是完整的 test.rb 文件

require 'test_helper'
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist

options = {js_errors: false, js: true}
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, options)
end

class LoginTest < ActionDispatch::IntegrationTest

test "Load login page" do
visit("/users/sign_in")
assert page.has_content?('derp'), "Page does not have Derp heading"
end

test "Successful load of sign in page" do
get("/users/sign_in")
assert_response :success
end

test "Login" do
visit("/users/sign_in")
fill_in "login-username", with: 'derp'
fill_in "login-password", with: '0123456789'
assert find_button("Login"), "Failed to Find Login Button"
assert page.execute_script("$('.js-login-action').click()"), "Failed to click on Login"
assert page.has_css?('en-main-header'), "Failed to Login"

end

end

最佳答案

page.execute_script 并不是真正要单击按钮。

正如您在这非常有帮助的 capybara cheatsheet 中看到的,您可以通过不同的方式单击按钮。例如:

click_button('Save')

find_button('Send').click

find('//table/tr').click

关于javascript - capybara 无法点击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34227778/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com