Python 无法创建着色器缓存项:-2 ChromeDriver Chrome和Selenium出现错误
我是python新手,正在学习selenium。我想建立一个简单的代码,可以自动搜索任何东西从谷歌.com根据输入 我正在按名称访问一个元素,并收到错误信息: 未能创建着色器缓存项:-2 任何人都可以帮我修改代码,纠正我在这里做错了什么Python 无法创建着色器缓存项:-2 ChromeDriver Chrome和Selenium出现错误,python,python-3.x,selenium,google-chrome,selenium-chromedriver,Python,Python 3.x,Selenium,Google Chrome,Selenium Chromedriver,我是python新手,正在学习selenium。我想建立一个简单的代码,可以自动搜索任何东西从谷歌.com根据输入 我正在按名称访问一个元素,并收到错误信息: 未能创建着色器缓存项:-2 任何人都可以帮我修改代码,纠正我在这里做错了什么 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time from time import sleep driver = webdri
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from time import sleep
driver = webdriver.Chrome()
driver.get('http://www.google.com')
elem = driver.find_element_by_name('q')
time.sleep(5)
elem.clear()
elem.send_keys("Python")
elem.send_keys(Keys.RETURN)
此错误消息
Failed to create shader cache entry: -2
…是从中定义的int ShaderDiskCacheEntry::WriteCallback(int rv)
函数生成的日志项
主要问题是着色器缓存代码删除了除一个时间戳元组目录以外的所有目录
据了解,主要问题是着色器缓存代码删除了除一个时间戳元组目录之外的所有目录
解决方案 作为解决方案,采取了以下步骤:
- 将所有缓存项移动到单个缓存目录,并使用时间戳(将来可能是构建id哈希)和gpu id作为缓存项输入的一部分
- 当缓存接近其最大大小时删除旧条目。尽管此解决方案使预编译着色器的收集/分发变得更加困难,但并非无法解决
:将时间戳散列到缓存键中util/disk\u cache
- 2017年3月12日星期日06:06:00 UTC提交的此修复程序应通过系统升级解决此问题
- 根据最佳做法:
- 将硒升级到当前水平
- 将ChromeDriver升级到当前级别
- 将Chrome版本保持在Chrome v70-72级别之间。()
你可以在中找到相关的讨论可能js一直在移动,而你的对象没有按时写入,我通过添加睡眠来解决这个问题 这是肮脏的东西,因为我只是从一个网站上收集数据,但正确的解决办法是做一个异步方法,并允许它在js继续之前完全执行