大约一周前,我有一个正在运行的Python Selify程序。现在,Selify在导入时失败:
from selenium import webdriver
闲置的产出:
Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\testpack.py
Traceback (most recent call last):
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\testpack.py", line 1, in <module>
from selenium import webdriver
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\__init__.py", line 18, in <module>
from .firefox.webdriver import WebDriver as Firefox # noqa
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 35, in <module>
from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 26, in <module>
from .webelement import WebElement
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 43, in <module>
getAttribute_js = pkgutil.get_data(_pkg, 'getAttribute.js').decode('utf8')
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\pkgutil.py", line 634, in get_data
return loader.get_data(resource_name)
File "<frozen importlib._bootstrap_external>", line 832, in get_data
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Mike\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\selenium\\webdriver\\remote\\getAttribute.js'
>>>
当我尝试使用pip重新安装该包时,我被告知满足了要求。
Chromedriver.exe位于c:\windows\system 32中。
任何想法都非常感谢。
5条答案
按热度按时间qvk1mo1f1#
该错误确实为我们提供了一些提示,说明发生了以下错误:
这实质上意味着getAttribute.js没有在它的预期位置找到。
getAttribute.js
getAttribute.js
文件内部使用Errors和其他关键的JavaScript函数*,如下所示:典型的**
getAttribute.js
**文件如下所示:错误原因:
如果无法正确下载
getAttribute.js
文件,则Selify和WebDriver模块可能无法正常工作。如果Selify客户端在传输或存储过程中遇到任何错误,就会出现这个问题。解决方案
在此之前,解决办法将是:
fjnneemd2#
由于我升级了库,所以在使用PyInstaller创建.exe文件时,我收到了相同的错误。
在我的例子中,出现问题是因为Pyinstaller没有在输出文件夹中包含Selify文件夹。我从另一个较旧的程序中复制Selify文件夹,这样它就可以工作了。
brgchamk3#
您的Web驱动程序安装文件已损坏或丢失。重新安装/升级网络驱动程序EGES。
试试:
syqv5f0l4#
您必须从此处https://pypi.org/project/selenium/#files重新安装Selenson-Windows版本
这个装置好像坏了。如果您想要从Repo安装,您需要首先遵循下面的步骤来构建您需要的.js文件:https://github.com/SeleniumHQ/selenium/wiki/Python-Bindings#development
70gysomp5#
我知道这是一个老生常谈的问题,但我只是遇到了这个问题,我觉得贡献自己的力量会很好。
在我的例子中,我同时使用Selify和PyInstaller(使用
--onefile
选项)。我在运行脚本时没有遇到任何问题,但可执行文件抛出了OP提到的相同异常。我的解决方案是以如下方式运行PyInstaller:它运行得很好,直到我尝试下载一个文件,同时使用Selify与网页交互。我收到了一个与丢失证书相关的类似错误。我还通过
--collect-data certify
、即、