通过 Css 选择器定位元素时无法创建着色器缓存条目 - 错误

Failed to create shader cache entry- error while locating an element by its Css selector(通过 Css 选择器定位元素时无法创建着色器缓存条目 - 错误)
本文介绍了通过 Css 选择器定位元素时无法创建着色器缓存条目 - 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在使用 Selenium 在 Python 中编写一个简单的脚本,以通过其 Css 选择器检测元素.我正在访问 Google 页面,并通过其 CSS 选择器来定位输入,即 input[name=q]

I am writing a simple script in Python using Selenium to detect an element by its Css selector. I am accessing the Google page, and am targeting the input, by its CSS selector, which is input[name=q]

Chrome 页面按计划打开,但问题是它在没有实际找到输入的情况下关闭,并在终端中引发以下错误:ERROR:shader_disk_cache.cc(237)] 无法创建着色器缓存条目:-2

The Chrome page opens as planned, but the issue is that it closes without actually finding the input, and throws the following error in the terminal: ERROR:shader_disk_cache.cc(237)] Failed to create shader cache entry: -2

我尝试在 Google Chrome 关闭时运行脚本,甚至关闭了任务管理器中的所有 Chrome 进程,但它仍然抱怨着色器缓存条目.

I tried running the script when Google Chrome is closed, and even went as far as to close all the Chrome processes in Task Manager, and it still complains about the shader cache entry.

我应该在这里做什么?

我的代码是:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Chrome(executable_path=r'C:Python27chromedriver.exe')
driver.get("http://www.google.com")
fLocator = "input[name=q]"
try:
    searchField = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, fLocator)))
finally:
    driver.quit() 

推荐答案

您的代码接近完美.您需要进行如下小改动:

Your code is near perfect. You need to make a small change as follows:

编辑 CSS_SELECTOR 来自:

fLocator = "input[name=q]"

收件人:

fLocator = "input[name='q']"

更新:

查看错误、重新显示错误以及对 这些几个链接和讨论 我觉得 shader_disk_cache.ccshader_disk_cache.h 不知何故损坏了.我认为彻底卸载 Google Chrome(使用 Revo Uninstaller)并完成磁盘清理(使用 CCleaner)&最后安装最新的谷歌浏览器可能会让我们摆脱错误.

Update:

Looking at the error, resurfacing of the error and some research over these few links and discussions I feel the shader_disk_cache.cc or shader_disk_cache.h somehow got corrupted. I think a clean uninstall of Google Chrome (using Revo Uninstaller) and complete disk cleanup (using CCleaner) & finally installation of the latest Google Chrome may get us beyond the error.

这篇关于通过 Css 选择器定位元素时无法创建着色器缓存条目 - 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Retrieving binary file content using Javascript, base64 encode it and reverse-decode it using Python(使用 Javascript 检索二进制文件内容,base64 对其进行编码并使用 Python 对其进行反向解码)
XMLHttpRequest multipart/form-data: Invalid boundary in multipart(XMLHttpRequest multipart/form-data:多部分中的边界无效)
Check if request is AJAX in Python(检查请求是否是 Python 中的 AJAX)
AttributeError: #39;list#39; object has no attribute #39;click#39; using Selenium and Python(AttributeError: list 对象没有使用 Selenium 和 Python 的属性 click)
How to execute JavaScript in Ruby written Webdriver test?(如何在 Ruby 编写的 Webdriver 测试中执行 JavaScript?)
Selenium WebDriver get text from CSS property quot;contentquot; on a ::before pseudo element(Selenium WebDriver 从 CSS 属性“内容获取文本在 ::before 伪元素上)