使用Selenium-Python启动Edge浏览器时出现Default OS account failed错误求解
Selenium启动Edge浏览器报错解决方法
问题描述
尝试运行以下Python代码启动Edge浏览器:
from selenium import webdriver driver = webdriver.Edge() driver.get("www.google.com")
运行后出现如下错误:
[22236:11028:0915/144220.323:ERROR:chrome_browser_cloud_management_controller.cc(163)] Cloud management controller initialization aborted as CBCM is not enabled. [22236:11028:0915/144220.354:ERROR:assistance_home_client.cc(32)] File path C:\Users\USER\AppData\Local\Temp\scoped_dir9636_820110299\Default DevTools listening on ws://127.0.0.1:62802/devtools/browser/d2966b60-622d-4dc7-915c-da69583c64bd [22236:11028:0915/144220.594:ERROR:edge_auth_errors.cc(487)] EDGE_IDENTITY: Get Default OS Account failed: Error: Primary Error: kImplicitSignInFailure, Secondary Error: kAccountProviderFetchError, Platform error: 0, Error string: Traceback (most recent call last): File "e:\Python\Selenium Projects\Demo.py", line 5, in <module> driver.get("www.google.com") File "C:\Users\USER\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 353, in get self.execute(Command.GET, {"url": url}) File "C:\Users\USER\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 344, in execute self.error_handler.check_response(response) File "C:\Users\USER\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidArgumentException: Message: invalid argument (Session info: MicrosoftEdge=116.0.1938.81) Stacktrace: GetHandleVerifier [0x00007FF7CD943D92+61490] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF7CD8D5FE2+740626] (No symbol) [0x00007FF7CD6AB6E0] (No symbol) [0x00007FF7CD694CA0] (No symbol) [0x00007FF7CD69287C] (No symbol) [0x00007FF7CD693553] (No symbol) [0x00007FF7CD6AD869] (No symbol) [0x00007FF7CD72DAB1] (No symbol) [0x00007FF7CD71390A] (No symbol) [0x00007FF7CD6E7021] (No symbol) [0x00007FF7CD72CE21] (No symbol) [0x00007FF7CD7136E3] (No symbol) [0x00007FF7CD6E5EAA] (No symbol) [0x00007FF7CD6E518B] (No symbol) [0x00007FF7CD6E6634] Microsoft::Applications::Events::ILogManager::DispatchEventBroadcast [0x00007FF7CDB08D49+1207369] (No symbol) [0x00007FF7CD765304] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF7CD8290E1+32273] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF7CD8219D9+1801] Microsoft::Applications::Events::ILogManager::DispatchEventBroadcast [0x00007FF7CDB07924+1202212] Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF7CD8DE978+19784] Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF7CD8DAE34+4612] Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF7CD8DAF66+4918] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF7CD8CF431+713057] BaseThreadInitThunk [0x00007FFF6F20257D+29] RtlUserThreadStart [0x00007FFF7032AA68+40]
已确认Selenium版本为4.12.0。
问题分析
- 核心报错原因:
InvalidArgumentException是因为调用driver.get()时传入的URL缺少协议头(http://或https://),Selenium无法识别不完整的URL格式。 - 次要日志说明:日志中的
Cloud management controller、EDGE_IDENTITY等错误属于Edge浏览器内部日志,不会影响代码执行,可直接忽略。
修复方案
方案一:补充完整URL协议头
修改代码中的URL,添加https://协议头即可解决核心报错:
from selenium import webdriver driver = webdriver.Edge() driver.get("https://www.google.com")
方案二:屏蔽浏览器内部日志(可选)
如果需要消除浏览器内部日志的干扰,可以通过配置EdgeOptions实现:
from selenium import webdriver from selenium.webdriver.edge.options import Options edge_options = Options() # 屏蔽INFO级别的日志输出 edge_options.add_argument("--log-level=3") # 禁用云管理相关服务,减少日志产生 edge_options.add_argument("--disable-cloud-management") driver = webdriver.Edge(options=edge_options) driver.get("https://www.google.com")
内容的提问来源于stack exchange,提问作者Bharath Bushan
相关产品推荐
相关产品推荐

