Codeceptjs selectors:如何select "email" 输入字段?
Codeceptjs selectors: How to select the "email" input field?
我真的需要语法方面的帮助。
我有输入字段:
<input class="email__field ng-pristine ng-empty ng-valid-email ng-invalid ng-invalid-required ng-touched" name="email" ng-model="authForm.email" ng-keypress="keypress($event);" ng-disabled="false" focused="true" required="" style="" type="email">
根据文档:http://devdocs.io/codeceptjs/helpers/seleniumwebdriver/index#fillfield
I.fillField('email', 'hello@world.com');
应该按名称定位元素。
但测试失败并显示错误消息:
"Field email not found by name|text|CSS|XPath"
是语法错误还是网络驱动程序有问题?
例如。
之前的command/step是:
I.amOnPage(some url here);
它正在运行,所以我认为 webdriver 应该没问题。
您使用的语法是正确的。定位元素可能有问题。
尝试通过以下方式调试问题,
1) 在 "I.amOnPage" 和 "I.fillField"
之间添加等待 --> I.wait(2) 秒
2)尝试点击元素'email'然后fillFieldI.click('//input[@name='email']');I.fillField('email') ;
3) 尝试为 fillField 传递 xpath,可能有另一个元素被禁用。例如:I.fillField('//input[@ng-model="authForm.email"][@name='email']')
另外请确保该元素不在 iframe 中,如果是则意味着您需要先切换到框架然后再执行操作
我真的需要语法方面的帮助。
我有输入字段:
<input class="email__field ng-pristine ng-empty ng-valid-email ng-invalid ng-invalid-required ng-touched" name="email" ng-model="authForm.email" ng-keypress="keypress($event);" ng-disabled="false" focused="true" required="" style="" type="email">
根据文档:http://devdocs.io/codeceptjs/helpers/seleniumwebdriver/index#fillfield
I.fillField('email', 'hello@world.com');
应该按名称定位元素。 但测试失败并显示错误消息: "Field email not found by name|text|CSS|XPath"
是语法错误还是网络驱动程序有问题? 例如。 之前的command/step是:
I.amOnPage(some url here);
它正在运行,所以我认为 webdriver 应该没问题。
您使用的语法是正确的。定位元素可能有问题。
尝试通过以下方式调试问题,
1) 在 "I.amOnPage" 和 "I.fillField"
之间添加等待 --> I.wait(2) 秒
2)尝试点击元素'email'然后fillFieldI.click('//input[@name='email']');I.fillField('email') ;
3) 尝试为 fillField 传递 xpath,可能有另一个元素被禁用。例如:I.fillField('//input[@ng-model="authForm.email"][@name='email']')
另外请确保该元素不在 iframe 中,如果是则意味着您需要先切换到框架然后再执行操作