【发布时间】:2017-05-18 23:55:23
【问题描述】:
在尝试我自己可以找到的所有解决方案时遇到以下错误,但没有成功,例如将整个 selenium 文件夹复制到主 python 文件夹、更改路径、使用绝对路径等,我非常感谢帮助作为一个刚开始接触 python 和 selenium 的新手。
C:\Users\WorkStation\Desktop\chromedriver.exe
错误:-
C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/WorkStation/PycharmProjects/test/scraptest/scrap.py 文件 “C:/Users/WorkStation/PycharmProjects/test/scraptest/scrap.py”,第 3 行 driver = webdriver.Chrome("C:\Users\WorkStation\Desktop\chromedriver.exe") ^ SyntaxError:(unicode 错误)“unicodeescape”编解码器无法解码位置 2-3 中的字节:被截断 \UXXXXXXXX 转义
进程以退出代码 1 结束
然后我尝试了这个,现在出现了更多错误:
driver = webdriver.Chrome("C:\\Users\\WorkStation\\Desktop\\chromedriver.exe")
错误:-
C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/WorkStation/PycharmProjects/test/scraptest/scrap.py Traceback (最近一次通话最后):文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", 第 74 行,开始 stdout=self.log_file, stderr=self.log_file) 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", 第 665 行,在 init 中 errread, errwrite) = self._get_handles(stdin, stdout, stderr) 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", 第 910 行,在 _get_handles 中 c2pwrite = msvcrt.get_osfhandle(self._get_devnull()) 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", 第 770 行,在 _get_devnull self._devnull = os.open(os.devnull, os.O_RDWR) FileNotFoundError: [Errno 2] No such file or directory: 'nul'
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 “C:/Users/WorkStation/PycharmProjects/test/scraptest/scrap.py”,行 3、在 driver = webdriver.Chrome("C:\Users\WorkStation\Desktop\chromedriver.exe") 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", 第 62 行,在 init 中 self.service.start() 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", 第 81 行,开始 os.path.basename(self.path),self.start_error_message)selenium.common.exceptions.WebDriverException:消息: 'chromedriver.exe' 可执行文件需要在 PATH 中。
异常被忽略:> Traceback(最近一次通话最后一次):文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", 第 173 行,在 del self.stop() 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", 145 号线,停止 如果 self.process 为 None: AttributeError: 'Service' object has no attribute 'process'
进程以退出代码 1 结束
即使在将 selenium 文件从 site-packages 文件夹复制到主 python 文件夹并添加绝对路径后也不起作用 完成上述步骤后,这里是错误
C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/WorkStation/PycharmProjects/test/scraptest/scrap.py Traceback (最近一次通话最后):文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\selenium\webdriver\common\service.py", 第 74 行,开始 stdout=self.log_file, stderr=self.log_file) 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", 第 665 行,在 init 中 errread, errwrite) = self._get_handles(stdin, stdout, stderr) 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", 第 910 行,在 _get_handles 中 c2pwrite = msvcrt.get_osfhandle(self._get_devnull()) 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", 第 770 行,在 _get_devnull self._devnull = os.open(os.devnull, os.O_RDWR) FileNotFoundError: [Errno 2] No such file or directory: 'nul'
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 “C:/Users/WorkStation/PycharmProjects/test/scraptest/scrap.py”,行 3、在 driver = webdriver.Chrome("C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\selenium\webdriver\chrome\chromedriver.exe") 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\selenium\webdriver\chrome\webdriver.py", 第 62 行,在 init 中 self.service.start() 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\selenium\webdriver\common\service.py", 第 81 行,开始 os.path.basename(self.path),self.start_error_message)selenium.common.exceptions.WebDriverException:消息: 'chromedriver.exe' 可执行文件需要在 PATH 中。
异常被忽略:> Traceback(最近一次通话最后一次):文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\selenium\webdriver\common\service.py", 第 173 行,在 del self.stop() 文件 "C:\Users\WorkStation\AppData\Local\Programs\Python\Python36-32\selenium\webdriver\common\service.py", 145 号线,停止 如果 self.process 为 None: AttributeError: 'Service' object has no attribute 'process'
进程以退出代码 1 结束
这是 PyCharm 中问题的截图
系统配置:
windows 32-bit
PyDispatcher 2.0.5 2.0.5
attrs 16.3.0 16.3.0
beautifulsoup4 4.5.3 4.5.3
cffi 1.9.1 1.9.1
constantly 15.1.0 15.1.0
cryptography 1.7.1 1.7.1
cssselect 1.0.0 1.0.0
idna 2.2 2.2
incremental 16.10.1 16.10.1
mechanize 0.2.5 0.2.5
pip 9.0.1 9.0.1
pyOpenSSL 16.2.0 16.2.0
pyasn1 0.1.9 0.1.9
pyasn1-modules 0.0.8 0.0.8
pycparser 2.17 2.17
requests 2.12.4 2.12.4
selenium 3.0.2 3.0.2
service-identity 16.0.0
setuptools 32.3.1 32.3.1
six 1.10.0 1.10.0
urllib3 1.19.1 1.19.1
wheel 0.29.0 0.30.0a0
zope.interface 4.3.3 4.3.3
Chrome webdriver Latest Version 2.27
Chrome browser Version Version 55.0.2883.87 m (Up to date)
【问题讨论】:
-
在这里查看我的答案:stackoverflow.com/a/42478941/5986816
标签: windows python-3.x selenium selenium-chromedriver