WebDriverException:服务U:/Scraping/chromedriver.exe意外退出。使用Chrome和Python时,状态代码为:1

WebDriverException:服务U:/Scraping/chromedriver.exe意外退出。使用Chrome和Python时,状态代码为:1,python,google-chrome,selenium,selenium-webdriver,selenium-chromedriver,Python,Google Chrome,Selenium,Selenium Webdriver,Selenium Chromedriver,我一直试图让webdriver在Chrome中与Python一起工作,但我一辈子都无法找出问题所在,尽管一天中大部分时间都在排除故障 我已将chromedriver解压缩到我正在使用的文件夹中。我已经尝试使用chromedriver的executable\u path参数。我已尝试更新chromedriver中的选项以直接指向Chrome.exe文件 代码如下。非常直截了当。”“url”有一个来自代码前面的地址,我在这里不包括这个地址——不管怎么说,这个脚本都没有那么远 from seleniu

我一直试图让webdriver在Chrome中与Python一起工作,但我一辈子都无法找出问题所在,尽管一天中大部分时间都在排除故障

我已将chromedriver解压缩到我正在使用的文件夹中。我已经尝试使用chromedriver的
executable\u path
参数。我已尝试更新chromedriver中的选项以直接指向Chrome.exe文件

代码如下。非常直截了当。”“url”有一个来自代码前面的地址,我在这里不包括这个地址——不管怎么说,这个脚本都没有那么远

from selenium import webdriver

driver = webdriver.Chrome(executable_path = 'U:/Scraping/chromedriver.exe')
driver.get(url)
错误是:

    Traceback (most recent call last):

  File "<ipython-input-67-db2ce2aa7cdf>", line 1, in <module>
    runfile('U:/Scraping/Project.py', wdir='U:/Scraping')

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "U:/Scraping/Project.py", line 14, in <module>
    driver = webdriver.Chrome(executable_path = 'U:/Scraping/chromedriver.exe')

  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 68, in __init__
    self.service.start()

  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 98, in start
    self.assert_process_still_running()

  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 111, in assert_process_still_running
    % (self.path, return_code)

WebDriverException: Service U:/Scraping/chromedriver.exe unexpectedly exited. Status code was: 1
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
运行文件('U:/Scraping/Project.py',wdir='U:/Scraping')
文件“C:\ProgramData\Anaconda3\lib\site packages\spyder\utils\site\site customize.py”,第705行,在runfile中
execfile(文件名、命名空间)
文件“C:\ProgramData\Anaconda3\lib\site packages\spyder\utils\site\sitecustomize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“U:/Scraping/Project.py”,第14行,在
driver=webdriver.Chrome(可执行文件路径='U:/Scraping/chromedriver.exe')
文件“C:\ProgramData\Anaconda3\lib\site packages\selenium\webdriver\chrome\webdriver.py”,第68行,在\uuu init中__
self.service.start()
文件“C:\ProgramData\Anaconda3\lib\site packages\selenium\webdriver\common\service.py”,第98行,在开始处
self.assert\u进程\u仍在运行()
文件“C:\ProgramData\Anaconda3\lib\site packages\selenium\webdriver\common\service.py”,第111行,断言进程仍在运行
%(self.path,返回\u代码)
WebDriverException:服务U:/Scraping/chromedriver.exe意外退出。状态代码为:1
通过参数可执行路径传递ChromeDriver二进制文件的绝对路径时,您需要在单引号(即
'
)内提及路径,路径由一个正斜杠(即
\
)和原始开关(即
r
)分隔,如下所示:

from selenium import webdriver

driver = webdriver.Chrome(executable_path=r'U:\Scraping\chromedriver.exe')
driver.get(url)
额外考虑
  • 请确保您已从中下载了ChromeDriver二进制文件的确切格式,这些文件与您的底层操作系统相关:

    • chromedriver\u win32.zip:适用于Windows操作系统
  • 确保ChromeDriver二进制文件对非管理员用户具有可执行权限

  • 以非管理员用户身份执行测试
  • 该错误的另一个潜在原因可能是由于缺少
    /etc/hosts
    中的条目
    127.0.0.1 localhost
解决方案
  • Windows操作系统-将
    127.0.0.1本地主机添加到
    /etc/hosts

  • Mac OSX-确保以下条目:

    127.0.0.1   localhost
    255.255.255.255 broadcasthost
    ::1 localhost
    fe80::1%lo0 localhost   
    
工具书类 根据中的讨论:

  • Selenium不要求在主机文件中显式设置
    127.0.0.1 localhost
  • 但是,必须将本地主机映射到IPv4本地环回(127.0.0.1)
  • 这种映射的机制不必总是通过hosts文件
  • 在Windows操作系统上,它根本不映射到主机文件中(解析本地主机由DNS解析程序完成)
TL;博士
这里也有同样的错误。我的问题是我在公司的sharedrive上安装了
chromedriver.exe
。某些防火墙或安全设置可能会阻止python访问该远程位置的可执行文件


我将chromedriver.exe制作成本地版,它运行正常。

我有过与@rvictordelta类似的经历。由于某些原因,我无法再通过python编辑驱动程序所在的位置,当我换成共享驱动器进行工作时,也无法正常工作。最后,使用下面的代码。这个版本很好,因为它检查最新的chrome驱动程序。如果驱动程序存在,它只使用它,如果没有,它将下载并安装它

custom_path=r'C:\Users\username'

driver = webdriver.Chrome(ChromeDriverManager(path=custom_path).install(),options=chrome_options))

显示您的代码。什么语言?什么版本?请更改原始帖子。截断错误跟踪日志会使调试更加困难。用GekOrgor或ChrimEdvor的观点来更新错误堆栈跟踪的问题,并编辑这个问题,将其限制为特定的Web驱动程序VALIANTION将回响其他评论,但是如果您最近没有更新,您可能会考虑更新ChrimError:谢谢所有的回复,但我仍然无法使它工作。我使用“r”原始文本输入运行了它,确保我有最新的chromedriver版本,并将localhost添加到主机文件中。我正在Windows(工作)机器上运行此程序。我刚回到家,在我的苹果电脑上运行了一个相同的代码(修改了路径名),并让它正常工作。这可能与在联网机器上运行脚本有关吗?因此,这肯定与在服务器上运行有关。我将准确的代码和webdriver复制到我的桌面,断开VPN连接,在我自己的WIFI上运行代码,它运行得非常完美。有没有关于如何避免成为公司网络中的一员的想法?这是为了一个工作中的项目,所以我必须上网。