У меня есть ситуация, на которой я вижу, что значок с возможностью клика отображается только тогда, когда он содержит div, зависает (используя Knockout JS, SCSS). Что-то вроде этого:Capybara with Selenium: Невозможно нажать на скрытый элемент
HTML
<div id="button_div">
<i id="icon" data-bind="click: dosomething"></i>
</div>
SCSS
i {
display: none;
}
#button_div:hover {
i {
display: block;
}
}
Все отлично работает на странице, но я не могу показаться, чтобы выяснить, как щелкнуть элемент в Капибара. Я попытался добавить: видимый символ метода, но не повезло:
find('#icon', visible: false).click
Это дает мне в «Selenium WebDriver :: :: Error :: ElementNotVisibleError» ошибки.
Использование:
Capybara.ignore_hidden_elements = false
дает мне ту же самую ошибку
Я также попытался с помощью Selenium действий, таких как:
button_div_element = find('#button_div').native
button_element = find('#button', visible: false).native
page.driver.browser.action.move_to(button_div_element).click(button_element).perform
Хотя это и не выдаст ошибку , он также не нажимает кнопку.
Кто-нибудь знает, что я могу сделать неправильно?
Кажется, что он должен работать, но это не так (по крайней мере для меня). При попытке щелкнуть по значку я получаю ошибку «элемент не найден». – nmg49
Хмм, это точное поведение проверено в capybara - https://github.com/jnicklas/capybara/blob/2a51b817b355f6c1a5e95a471a87f1a492562e55/lib/capybara/spec/session/node_spec.rb # L266 - не знаете, что в вашем приложении отличное –
@ nmg49 что другой CSS применяется к значку –