Syntax Codeceptjs选择器:如何选择;电邮;输入字段?

Syntax Codeceptjs选择器:如何选择;电邮;输入字段?,syntax,codeceptjs,Syntax,Codeceptjs,我真的需要语法方面的帮助 我有输入字段: <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="" st

我真的需要语法方面的帮助

我有输入字段:

<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">
应按名称定位元素。 但测试失败,并显示错误消息: “按名称|文本| CSS | XPath未找到字段电子邮件”

是语法错误还是webdriver有问题? 例如。 上一个命令/步骤是:

I.amOnPage(some url here); 

而且它正在工作,所以我认为webdriver应该没问题。

您使用的语法是正确的。定位元素可能有一些问题

尝试通过以下方式调试问题:

1) 在“I.amOnPage”和“I.fillField”之间添加等待-->I.wait(2)秒
2) 尝试单击元素“email”,然后填充字段I。单击('//input[@name='email']);I.fillField(“电子邮件”)
3) 尝试为fillField传递xpath,可能存在另一个已禁用的元素。例如:I.fillField('//input[@ng model=“authForm.email”][@name='email'])


另外,请确保元素不在iframe中,如果这意味着您需要先切换到该帧,然后再执行操作,谢谢。这又是一个等待问题。你能告诉我该电子邮件字段的CSS选择器工作吗?作为xpath one,我使用:I.fillField('//input[@name=“email”]','hello@world.com'); 它是有效的,但我不能得到的CSS选择器检查。例如:document.querySelector('input[type=“email”]”)返回所需的元素,但我对基于该元素的任何CSS选择器失败感到困惑。请尝试将executeScript作为I.executeScript(“document.querySelector(\”input[name='email']\')。setAttribute('value','hello@world.com');");结果:元素状态无效:无法对“文档”执行“querySelector”:“input[name='email'‌​]' 不是有效的选择器。但我想知道的是:例如,在Java中,我会使用类似于:driver.findelelement(By.cssSelector('input[type=“email”]”);其中的'input[type=“email”]”正是我在document.querySelector()中检查过的选择器。所以我的问题是:有没有办法使用字符串'input'[type=“email”]”使用Codeceptjs以一种巧妙的方式?
I.amOnPage(some url here);