Selenium webdriver Facebook\WebDriver\Exception\UnexpectedJavascriptException javascript错误:无法读取属性';单击';未定义的
问题是我的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)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
(驱动程序信息: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]上点击。我有没有找到解决办法