我有一个名为user_email
的隐藏字段。它看起来像这样:为什么水豚坚持我的隐藏领域是可见的?
<input type="hidden" value="[email protected]" name="user[email]" id="user_email">
出于某种原因,水豚是相信,这是一个明显的元素:
$ page.find '#user_email'
#<Capybara::Node::Element tag="input" path="/html/body/div[2]/div/section/div/form/div[1]/div[4]/input">
$ page.find '#user_email', visible: :visible
#<Capybara::Node::Element tag="input" path="/html/body/div[2]/div/section/div/form/div[1]/div[4]/input">
$ page.has_css? '#user_email', visible: :visible # => true
$ page.has_css? '#user_email', visible: false # => true
$ page.has_css? '#user_email', visible: true # => true
$ page.has_css? '#user_email', visible: :hidden # => false
$ page.all('#user_email').count # => 1
$ page.all('input[type=hidden]#user_email').count # => 1
设置Capybara.ignore_hidden_elements
没有效果。我重新启动了我的机器,以确保我没有发疯。我在这里错过了什么,或者隐藏的领域不应该隐藏起来吗?
你使用什么驱动程序? –
如果您将'style ='display:none''添加到标签,该怎么办? (虽然不能找到隐藏的输入字段没有什么意义,但如果用CSS隐藏整个表单会怎么样?) – froderik