首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >selenium.common.exceptions.WebDriverException:消息:未知错误:无法找到带有OperaDriver Selenium和Python的Opera二进制文件

selenium.common.exceptions.WebDriverException:消息:未知错误:无法找到带有OperaDriver Selenium和Python的Opera二进制文件
EN

Stack Overflow用户
提问于 2018-10-13 13:38:59
回答 2查看 4.5K关注 0票数 1

我只是想让一个简单的Python脚本工作起来,它应该只会打开google。

我用pip安装selenium,并将从selenium页面下载的operadriver放到python路径中。也看了很多关于它的视频,但我找不到解决办法。

下面是代码:

代码语言:javascript
复制
from selenium import webdriver
import time

driver = webdriver.Opera()
driver.get('http://www.google.com')

错误:

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

发布于 2018-10-13 16:15:24

这个错误信息..。

代码语言:javascript
复制
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)

...implies表示没有在所需位置找到Opera浏览器二进制文件。

您的主要问题是Opera浏览器没有安装在默认位置。因此,您需要提到安装Opera浏览器的位置的绝对路径,如下所示:

代码语言:javascript
复制
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')
票数 1
EN

Stack Overflow用户

发布于 2020-12-16 05:22:02

对我来说,简单的解决方案是:我有一个Feedscode文件夹,我的chromedriver.exe和operadriver.exe驻留在我的下载文件夹中,运行file.ipynb文件。

错误是相当明显的,它是在错误的地方为opera.exe,这个问题开始为我之后,opera更新为73.0.3856.257_0,这是最新的opera文件夹更新,截至2020年12月14日。

我为修复opera所做的事情是,我获取了C:\Users\your_user_name_here\AppData\Local\Programs\Opera\73.0.3856.257_0文件夹,然后简单地将文件夹73.0.3856.257_0复制到我的.ipynb \feedscode文件夹中,然后将我的.ipynb文件以及我的operadriver.exe和chromedriver.exe文件复制到73.0.3856.257_0文件夹中,然后在运行这个过程之前做了一个更改。

"C:\Users\User_name_here\Downloads\FeedsCode\73.0.3856.257_0\operadriver.exe" chrome_path =

现在,这一过程如预期的那样工作。

因此,错误显然是由于它正在operadriver.exe所在的文件夹中查找operadriver.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文件夹,所以不会意外地被更新所刺痛。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52793537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档