我是python的新手,正在学习硒。我想构建一个简单的代码,根据输入内容自动搜索google.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)
答案 0 :(得分:1)
此错误消息...
.div
{
width: 500px;
background: lightblue;
transform: rotate(40deg);
}
...是从shader_disk_cache.cc
中定义的Failed to create shader cache entry: -2
函数生成的日志条目
主要问题是 shader缓存代码 删除,除了一个 timestamp元组目录以外的所有内容。
根据Failure to create folder for on-disk shader cache,主要问题是着色器缓存代码将删除除一个时间戳元组目录之外的所有目录。
作为解决方案,采取了以下步骤:
int ShaderDiskCacheEntry::WriteCallback(int rv)
:将时间戳添加到缓存键中不是使用目录,而是将时间戳散列到缓存键本身中。由于没有更多的时间戳目录,因此不再需要删除其他台面版本的缓存,我们依靠逐出来清理旧的缓存条目。这解决了同时使用disk_cache的多个版本的问题,其中一个删除了属于另一个的目录。
您可以在Failed to create shader cache entry- error while locating an element by its Css selector
中找到相关的讨论答案 1 :(得分:0)
可能js继续运行,并且您的对象未按时写入,我通过添加睡眠来解决此问题。
那是肮脏的东西,因为我只是从网站上窃取数据,但是正确的解决方法是做一个异步方法并允许它在js继续运行之前完全执行。