Selenium webdriver Facebook\WebDriver\Exception\UnexpectedJavascriptException javascript错误:无法读取属性';单击';未定义的

Selenium webdriver Facebook\WebDriver\Exception\UnexpectedJavascriptException javascript错误:无法读取属性';单击';未定义的,selenium-webdriver,webdriver,codeception,Selenium Webdriver,Webdriver,Codeception,问题是我的codeception测试实际上通过了,按钮被点击了,但由于某些原因,它停止了进一步的操作,标题中出现了错误 $I->单击('onsomefield') $I->fillField(['name'=>'password'],'password') $I->waitForJS(“let buttons=document.queryselectoral('button');buttons.forEach(函数(按钮){button.style.disabled=false});返回按钮[1

问题是我的codeception测试实际上通过了,按钮被点击了,但由于某些原因,它停止了进一步的操作,标题中出现了错误

$I->单击('onsomefield')

$I->fillField(['name'=>'password'],'password')

$I->waitForJS(“let buttons=document.queryselectoral('button');buttons.forEach(函数(按钮){button.style.disabled=false});返回按钮[1]。单击()”,10)

我希望我的测试能通过,但我得到了一个标题中的错误

错误全文如下:

[Facebook\WebDriver\Exception\UnexpectedJavascriptException]javascript错误:无法读取属性“click” 未定义的 (会话信息:chrome=75.0.3770.142)
(驱动程序信息:chromedriver=75.0.3770.140(2D9F97485C7B07DC18A7466574F19176731995C参考/branch heads/3770@{1155}),平台=Windows NT 10.0.18362 x8664)

我用解决了我的问题

在我的例子中,我猜前端是在react上,button并没有id,我尝试了很多选项,我尝试了executingJS等待executejs,实际上它工作了,但我仍然抛出了一个错误,这是在这个问题的标题中,发现有一个特殊的类

Codeception\Util\Locator

它可以与单击一起使用,因此将我的定位器设置为

    use Codeception\Util\Locator;
   $I->click('login' , Locator::lastElement('#login-methods-body-user_credentials'));

成功了,我希望您可以选择一个适合您的选项。

这是您的javascript代码的错误。尝试使用返回按钮[0]单击第一个按钮。单击();或者点击forEach循环。实际上有两个按钮,我需要最后一个,这就是为什么我在[1]上点击。我有没有找到解决办法