我目前正在尝试使用Capybara填写Google登录表单,但我最难找到要填写的隐藏字段。
以下是我要填写的字段的HTML。
这是测试代码
android:paddingBottom="dimension(1025)
答案 0 :(得分:1)
首先,您不应该尝试填充隐藏字段,您应该像用户一样与可见元素进行交互。在这种情况下,它可能意味着需要首先单击另一个元素以触发电子邮件输入以更改为活动。像
这样的东西first('form div[jscontroller]').click
fill_in('identifierId', with: email)
适用于Google登录页面。
注意:你也应该更喜欢使用CSS而不是XPath来尽可能地查找元素,因为它会更快,更容易阅读,并且不会无意中破坏元素范围(//
vs .//
in XPath - 见https://github.com/teamcapybara/capybara#beware-the-xpath--trap)
更新:此外,所有it
块都是完全独立的,其间有浏览器重置,因此您需要访问每个块的所需页面(如果{{1}中的所有it
块1}}需要访问您可以将访问放在describe
块中的同一页面。
注意:这一切都假设您实际上正在使用Selenium驱动程序进行此测试,因为问题标签意味着。