selenium.common.exceptions.WebDriverException:消息:未知错误:找不到带有OperaDriver selenium和Python的Opera二进制文件
我只是试着让一个简单的Python脚本工作,它只会打开google 我使用pip安装了selenium,并将从selenium页面下载的operadriver放入我的python路径中。我也看了很多关于它的视频,但我找不到解决办法 代码如下:selenium.common.exceptions.WebDriverException:消息:未知错误:找不到带有OperaDriver selenium和Python的Opera二进制文件,python,selenium,selenium-webdriver,webdriver,operadriver,Python,Selenium,Selenium Webdriver,Webdriver,Operadriver,我只是试着让一个简单的Python脚本工作,它只会打开google 我使用pip安装了selenium,并将从selenium页面下载的operadriver放入我的python路径中。我也看了很多关于它的视频,但我找不到解决办法 代码如下: from selenium import webdriver import time driver = webdriver.Opera() driver.get('http://www.google.com') 错误: Traceback (most
from selenium import webdriver
import time
driver = webdriver.Opera()
driver.get('http://www.google.com')
错误:
Traceback (most recent call last):
File "C:/Users/Tom/AppData/Local/Programs/Python/Python37-32/Scripts/automate.py", line 4, in <module>
driver = webdriver.Opera()
File "C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\opera\webdriver.py", line 83, in __init__
service_log_path=service_log_path)
File "C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\opera\webdriver.py", line 62, in __init__
keep_alive=keep_alive)
File "C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Opera binary
(Driver info: OperaDriver=2.40 (a50783a565882ef2022bea655e8560f37ecf8afe),platform=Windows NT 6.1.7601 SP1 x86_64)
回溯(最近一次呼叫最后一次):
文件“C:/Users/Tom/AppData/Local/Programs/Python/Python37-32/Scripts/automation.py”,第4行,在
driver=webdriver.Opera()
文件“C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site packages\selenium\webdriver\opera\webdriver.py”,第83行,在\uuu init中__
服务日志路径=服务日志路径)
文件“C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site packages\selenium\webdriver\opera\webdriver.py”,第62行,在\uuu init中__
保持活力(保持活力)
文件“C:\Users\Tom\AppData\Local\Programs\Python37-32\lib\site packages\selenium\webdriver\chrome\webdriver.py”,第81行,在__
期望的_能力=期望的_能力)
文件“C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,第157行,在\uuu init中__
启动会话(功能、浏览器配置文件)
文件“C:\Users\Tom\AppData\Local\Programs\Python37-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,第252行,在启动会话中
响应=self.execute(Command.NEW_会话,参数)
文件“C:\Users\Tom\AppData\Local\Programs\Python\Python37-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,执行中第321行
self.error\u handler.check\u响应(响应)
文件“C:\Users\Tom\AppData\Local\Programs\Python37-32\lib\site packages\selenium\webdriver\remote\errorhandler.py”,第242行,在check\u响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.WebDriverException:消息:未知错误:找不到Opera二进制文件
(驱动程序信息:OperaDriver=2.40(a50783a565882ef2022bea655e8560f37ecf8afe),平台=Windows NT 6.1.7601 SP1 x8664)
此错误消息
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Opera binary
(Driver info: OperaDriver=2.40 (a50783a565882ef2022bea655e8560f37ecf8afe),platform=Windows NT 6.1.7601 SP1 x86_64)
…表示在所需位置未找到Opera浏览器二进制文件
您的主要问题是Opera浏览器未安装在默认位置。因此,您需要提及安装Opera Browser的位置的绝对路径,如下所示:
from selenium import webdriver
from selenium.webdriver.opera.options import Options
options = Options()
options.binary_location = r'C:\path\to\opera.exe'
driver = webdriver.Opera(opera_options = options, executable_path=r'C:\Utility\BrowserDrivers\operadriver.exe')
driver.get('http://www.google.com')
对我来说,一个简单的解决方案是:我有一个Feedscode文件夹,其中chromedriver.exe和operadriver.exe位于我运行file.ipynb文件的下载文件夹中 错误很明显,opera.exe的位置不正确。在opera更新到73.0.3856.2570之后,我开始发布此问题。这是截至2020年12月14日的最新opera文件夹更新 我修复opera的方法是将C:\Users\your\u user\u name\u here\AppData\Local\Programs\opera\73.0.3856.257\u 0文件夹复制到我的downloads\feedscode文件夹,然后复制 将我的.ipynb文件、operadriver.exe和chromedriver.exe文件保存到73.0.3856.257_0文件夹中,然后在运行该过程之前进行了此更改 chrome\u path=“C:\Users\User\u name\u here\Downloads\FeedsCode\73.0.3856.257\u 0\operadriver.exe” 现在,该过程按预期进行 因此,该错误显然是因为它正在operadriver.exe所在的文件夹中查找opera.exe。你有两个选择1。等待修复或2。照我上面说的做 我相信这会帮助很多人,因为这里的原始答案并不适合我,每个人都喜欢 注意chromedriver.exe没有这个问题,因此您可以简单地使用chromedriver.exe而不是operadriver.exe。我还注意到,在Opera更新中,当我们运行流程时,只要流程窗口保持在屏幕上,它就会正常工作。如果我们转到另一个任务窗口,它将停止,直到您重新打开流程屏幕。chromedriver.exe不会发生这种情况,只有截至2020年12月14日的最新operadriver.exe和Opera更新 注意,我建议的修复有一个优点,那就是Opera浏览器不会自动更新,因为我们将整个73.0.3856.257_0文件夹复制到了另一个位置。您必须手动复制最新的Opera更新文件夹,这样您就不会意外地被更新刺痛