Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法创建着色器缓存项:-2 ChromeDriver Chrome和Selenium出现错误_Python_Python 3.x_Selenium_Google Chrome_Selenium Chromedriver - Fatal编程技术网

Python 无法创建着色器缓存项:-2 ChromeDriver Chrome和Selenium出现错误

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

我是python新手,正在学习selenium。我想建立一个简单的代码,可以自动搜索任何东西从谷歌.com根据输入 我正在按名称访问一个元素,并收到错误信息:

未能创建着色器缓存项:-2

任何人都可以帮我修改代码,纠正我在这里做错了什么

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
    :将时间戳散列到缓存键中
不要使用目录,而是将时间戳散列到缓存密钥本身中。由于没有更多的时间戳目录,因此不再需要删除其他mesa版本的缓存,我们依靠逐出来清理旧的缓存条目。这就解决了同时使用多个不同版本的磁盘缓存的问题,其中一个版本删除了属于另一个版本的目录

  • 2017年3月12日星期日06:06:00 UTC提交的此修复程序应通过系统升级解决此问题
  • 根据最佳做法:
    • 将硒升级到当前水平
    • 将ChromeDriver升级到当前级别
    • 将Chrome版本保持在Chrome v70-72级别之间。()

你可以在

中找到相关的讨论可能js一直在移动,而你的对象没有按时写入,我通过添加睡眠来解决这个问题

这是肮脏的东西,因为我只是从一个网站上收集数据,但正确的解决办法是做一个异步方法,并允许它在js继续之前完全执行