Python Selenium错误:找不到Opera二进制文件



我正在用我的主浏览器Opera试用Python Selenium,但在执行脚本时遇到了一个巨大的错误,下面是Python脚本:

from selenium import webdriver
path = r"C:UserssleepProgramsoperadriver_win64operadriver.exe"
driver = webdriver.Opera(executable_path=path)
driver.get('https://youtube.com')

这是一个错误:

Traceback (most recent call last):
File "C:UserssleepProgramsStatus-Entregamain.py", line 6, in <module>
driver = webdriver.Opera(executable_path=r'C:UserssleepProgramsoperadriver_win64operadriver.exe')
File "C:UserssleepAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriveroperawebdriver.py", line 79, in __init__
OperaDriver.__init__(self, executable_path=executable_path,
File "C:UserssleepAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriveroperawebdriver.py", line 55, in __init__
ChromiumDriver.__init__(self,
File "C:UserssleepAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriverchromewebdriver.py", line 76, in __init__
RemoteWebDriver.__init__(
File "C:UserssleepAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriverremotewebdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:UserssleepAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriverremotewebdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:UserssleepAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriverremotewebdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:UserssleepAppDataLocalProgramsPythonPython39libsite-packagesseleniumwebdriverremoteerrorhandler.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=91.0.4472.77 (1cecd5c8a856bc2a5adda436e7b84d8d21b339b6-refs/branch-heads/4472@{#1246}),platform=Windows NT 10.0.19042 x86_64)

我该怎么解决这个问题?

你能试试这个吗:

from selenium import webdriver
from selenium.webdriver.opera.options import Options
options = Options()
options.binary_location = r'C:opera.exe path'
driver = webdriver.Opera(opera_options = options, 
executable_path=r'C:operadriver.exe path')

它可能会起作用,别忘了一个是歌剧之路,一个是运营商之路

此链接可能有助于:https://github.com/operasoftware/operachromiumdriver/blob/master/examples/desktop.py

import time
from selenium import webdriver
from selenium.webdriver.chrome import service

webdriver_service = service.Service('path/to/operadriver')
webdriver_service.start()
driver = webdriver.Remote(webdriver_service.service_url, webdriver.DesiredCapabilities.OPERA)
driver.get('https://www.google.com/')
input_txt = driver.find_element_by_name('q')
input_txt.send_keys('operadrivern')
time.sleep(5) #see the result
driver.quit()

最新更新