我只是想让一个简单的Python脚本工作起来,它应该只会打开google。
我用pip安装selenium,并将从selenium页面下载的operadriver放到python路径中。也看了很多关于它的视频,但我找不到解决办法。
下面是代码:
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)发布于 2018-10-13 16:15:24
这个错误信息..。
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浏览器的位置的绝对路径,如下所示:
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')发布于 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文件夹,所以不会意外地被更新所刺痛。
https://stackoverflow.com/questions/52793537
复制相似问题