Selenium ChromeDriver死于"驱动程序服务器已经死亡。"

时间:2018-02-12 20:33:58

标签: php selenium

我尝试运行ChromeDriver与页面进行交互,但驱动程序因未知原因而死亡。我将ChromeDriver与ChromeDriver::start();一起使用,并且能够在死亡之前与几个页面进行交互。我已经在下面附上了堆栈跟踪。

它总是发生在同一个地方,在点击一个按钮后会触发更新页面内容的AJAX调用。我等待异步请求完成,然后尝试调用findElement(WebDriverBy::cssSelector('foo'))。然后它就死了。我确定发生了什么事情并且终止了这个过程,但我找不到能够告诉我任何事情的日志。

造成这种情况的原因以及如何调试?

PHP Fatal error:  Uncaught Facebook\WebDriver\Exception\WebDriverException: The driver server has died. in /home/foo/projects/bar/vendor/facebook/webdriver/lib/Remote/Service/DriverCommandExecutor.php:63
Stack trace:
#0 /home/foo/projects/bar/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php(535): Facebook\WebDriver\Remote\Service\DriverCommandExecutor->execute(Object(Facebook\WebDriver\Remote\WebDriverCommand))
#1 /home/foo/projects/bar/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php(175): Facebook\WebDriver\Remote\RemoteWebDriver->execute('findElement', Array)
#2 /home/foo/projects/bar/baz.php(80): Facebook\WebDriver\Remote\RemoteWebDriver->findElement(Object(Facebook\WebDriver\WebDriverBy))
#3 {main}
  thrown in /home/foo/projects/bar/vendor/facebook/webdriver/lib/Remote/Service/DriverCommandExecutor.php on line 63

1 个答案:

答案 0 :(得分:1)

有趣的是,当我杀死ChromeDriver可执行文件的所有正在运行的进程时,它突然开始正常工作。也许有些东西给它带来了糟糕的内部状态?

相关问题