[英]Chromedriver text file busy
我有一个运行 selenium 并进行一些测试的应用程序。 当我独立运行我的代码时,它可以完美运行。 但是当我多次运行它以同时测试多个东西时,我得到了一个错误。
这是我的代码:
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument("window-size=1920,1080")
chrome_options.add_argument("--disable-features=NetworkService")
driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
driver.get(URL)
这是错误
files = self.__unpack(file_path)
File "/usr/local/lib/python3.6/dist-packages/webdriver_manager/driver_cache.py", line 99, in __unpack
return extract_zip(path, to_directory)
File "/usr/local/lib/python3.6/dist-packages/webdriver_manager/archive.py", line 7, in extract_zip
archive.extractall(to_directory)
File "/usr/lib/python3.6/zipfile.py", line 1524, in extractall
self._extract_member(zipinfo, path, pwd)
File "/usr/lib/python3.6/zipfile.py", line 1578, in _extract_member
open(targetpath, "wb") as target:
OSError: [Errno 26] Text file busy: '/home/root/.wdm/drivers/chromedriver/80.0.3987.106/linux64/chromedriver'
我的理解是有一个 chromedriver 实例已经在运行,这是可能的,因为我可以在后台运行此代码。 我该如何处理这个错误?
我相信你是对的:当已经有一个 chrome 实例正在运行时,就会发生错误。
要修复首先找到运行chrome
的进程。 您可以通过包含名称chrome
的搜索过程来执行此操作,如下所示:
pidof chrome
然后你可以像这样杀死所有的人:
pkill -f chrome
之后重新运行您的代码不应产生此错误。
我最近遇到这个错误,我尝试“rsync”将chromedriver复制到一个新目录,然后将环境变量更新到新路径,它可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.