我正在尝试在docker内部使用Selenium运行python脚本。由于脚本位于Docker容器中,因此我不断收到此错误:
selenium.common.exceptions.WebDriverException:消息:“ chromedriver” 可执行文件必须位于PATH中。
当我在计算机上运行并使用PATH
到chromedriver文件时,代码工作正常,但是docker容器由于隔离而无法看到PATH
。我将使用预制的docker映像,但是我需要其他依赖项来运行我的代码,例如smtplib,imapclient和beautifulsoup等。
是否有一条命令会告诉Selenium chromedriver与脚本位于同一文件夹中,或通过其他方式使其对docker可见?
答案 0 :(得分:0)
您可以使用以下代码段在脚本中设置chrome驱动程序的路径:
import os
path_to_chrome_driver = os.path.join(os.getcwd(), 'chromedriver.exe')
browser = webdriver.Chrome(executable_path=path_to_chrome_driver )
答案 1 :(得分:0)
Docker容器就像一个VM。在图像内有脚本。但不是chromedriver。我会说不要在图像内复制chromedriver。仅复制chromedriver
无效。
请改为使用selenium/node-chrome
图片,并以容器名称作为容器的主机。
看看这个例子。