#事象
Docker(toru2220/scrapy-chrome)で
google-chrome(Selenium)を動かしていたところ、以下のエラーが発生
File "/usr/local/lib/python3.6/site-packages/selene/elements.py", line 358, in set
condition=be.visible)
File "/usr/local/lib/python3.6/site-packages/selene/elements.py", line 251, in _execute_on_webelement
return command(_wait_with_screenshot(self._webdriver, self, condition))
File "/usr/local/lib/python3.6/site-packages/selene/elements.py", line 353, in clear_and_send_keys
webelement.clear()
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 95, in clear
self._execute(Command.CLEAR_ELEMENT)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 628, in _execute
return self._parent.execute(command, params)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'
(Session info: headless chrome=65.0.3325.181)
(Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Linux 4.13.0-19-generic x86_64)
#原因
ここを読むと、
単にgoogle-chrome本体に対してchrome-driverのバージョンが古いのが原因とのこと。
確かに最近google-chromeはversionupしたが、chrome-driverはそのままだった、、、、
#対策
chrome-driverを2.37へUpgrade
Dockerfile
-RUN wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip && \
+RUN wget https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip && \
unzip chromedriver_linux64.zip -d /usr/bin/