水豚无法找到 is/is 未禁用的字段(文本条目)
Capybara unable to find field (text entry) that is/is not disabled
将 Capybara 与 Cucumber(和 Selenium)一起使用,我看到两种截然不同的自相矛盾的反应,我有点迷茫。
正在尝试:
find_field('SANDBOX_FIELD_USERNAME', {disabled: true}).set(username)
如果 disabled 设置为 true 那么我得到
Unable to find field "SANDBOX_FIELD_USERNAME" that is disabled (Capybara::ElementNotFound)
但是如果 disabled 设置为 false 我得到
Unable to find field "SANDBOX_FIELD_USERNAME" that is not disabled (Capybara::ElementNotFound)
我环顾四周,但找不到其他人描述这个问题,所以我确定它一定是我遗漏的东西,但任何人都可以阐明这可能是如何发生的吗?
Capybaras find_field
通过 ID、名称、占位符或关联的标签文本查找表单字段。由于 "SANDBOX_FIELD_USERNAME" 是您尝试填写的元素中的 none,因此找不到该字段。你可以做
fill_in('Username', with: username)
匹配占位符文本,设置值与
基本一致
find_field('Username').set(username)
您也可以这样做:
page.fill_in :placeholder => 'Username', with: 'some_name'
将 Capybara 与 Cucumber(和 Selenium)一起使用,我看到两种截然不同的自相矛盾的反应,我有点迷茫。
正在尝试:
find_field('SANDBOX_FIELD_USERNAME', {disabled: true}).set(username)
如果 disabled 设置为 true 那么我得到
Unable to find field "SANDBOX_FIELD_USERNAME" that is disabled (Capybara::ElementNotFound)
但是如果 disabled 设置为 false 我得到
Unable to find field "SANDBOX_FIELD_USERNAME" that is not disabled (Capybara::ElementNotFound)
我环顾四周,但找不到其他人描述这个问题,所以我确定它一定是我遗漏的东西,但任何人都可以阐明这可能是如何发生的吗?
Capybaras find_field
通过 ID、名称、占位符或关联的标签文本查找表单字段。由于 "SANDBOX_FIELD_USERNAME" 是您尝试填写的元素中的 none,因此找不到该字段。你可以做
fill_in('Username', with: username)
匹配占位符文本,设置值与
基本一致find_field('Username').set(username)
您也可以这样做:
page.fill_in :placeholder => 'Username', with: 'some_name'