selenium unknown error - call function result missing 'value'

问题

在selenium web driver test 中,遇到的一个问题:进行fill form操作时,会抛出error:

unknown error: call function result missing ‘value’

其中:chrome version 65,chromedriver version 2.34, Mac OS Sierra 10.12

解决

Google后,很快看到解答:来自stack overflow的Q: CodeceptJS “unknown error”: call function result missing ‘value’

chrome悄无声息地升级到了65,这个坑真的是让人无言以对……

解决方法也就是升级chrome driver ,那就开始吧。

升级

Mac下,使用brew:

brew upgrade chromedriver

OK, 搞定!一步更新到最新版2.36。

再次运行测试,passed。

后记下:

现在看升级方法,很简单,但是最开始的时候,我用brew upgrade chromedriver出错了,以为不能这么升级【现在想想,当时应该是翻墙的原因】,然后我竟然脑抽地改用了npm install chromedriver --chromedriver_version=LATEST!! 报错 http request error, Google后看ChromeDriver installation failed Error with http request: Error,是翻墙的原因,还一本正经地采用了cdn的迂回方法,结果各种惨不忍睹 ……

写下这个,主要是希望同我一般的小白,别再踩坑了,白白浪费了大好时光,Mac下,直接brew upgrade chromedriver即可。当然,Linux下,还是用npm : P

参考

Q: CodeceptJS “unknown error”: call function result missing ‘value’

org.openqa.selenium.WebDriverException: unknown error: call function result missing ‘value’