问题描述
我想使用python模块Selenium通过jupyter笔记本进行网络抓取。 jupyter笔记本在没有任何网络浏览器的docker容器中运行。我希望能够分发笔记本,以便其他用户可以复制网络抓取。笔记本计算机在通用的jupyter实验室容器上运行,因此无法更新该容器以包含浏览器。
我尝试了很多事情:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
这:
!pip install chromedriver-binary
from selenium import webdriver
import chromedriver_binary # Adds chromedriver binary to path
driver = webdriver.Chrome('/opt/conda/lib/python3.7/site-packages/chromedriver_binary')
对于这最后一种情况,我使用
查找了二进制文件import chromedriver_binary
print(chromedriver_binary.__file__)
但是不幸的是,我无法使其中任何一个发挥作用。
解决方法
chrome驱动程序取决于本地安装的chrome-因此您必须修改用于首先安装chrome的docker映像。