使用Selenium启动浏览器失败求助:Edge/Chrome均报错
使用Selenium编写爬虫时,启动Edge浏览器遇到报错,Chrome浏览器也出现类似问题。已确认Edge浏览器与EdgeDriver版本均为127.0.2651.98,尝试多种方法仍无法解决。
代码片段:
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.edge.service import Service as EdgeService from bs4 import BeautifulSoup import pandas as pd service = EdgeService(r'C:\Users\K13483\Desktop\edgedriver_win64\msedgedriver.exe') driver = webdriver.Edge(service=service)
报错信息:
WebDriverException: Message: <!-- IE friendly error message walkround.
if error message from server is less than
512 bytes IE v5+ will use its own error
message instead of the one returned by
server.
检查EdgeDriver执行权限
右键点击msedgedriver.exe,选择「属性」-「安全」,确认当前用户拥有「读取和执行」权限,无权限则点击「编辑」添加对应权限。以管理员身份运行脚本
打开命令提示符或IDE时选择「以管理员身份运行」,再执行爬虫脚本,避免权限不足导致驱动启动失败。添加Edge启动参数
通过禁用IE兼容模式、指定浏览器二进制路径来规避问题,示例代码:from selenium.webdriver.edge.options import Options edge_options = Options() edge_options.add_argument("--disable-ie-compatibility") # 替换为你的Edge浏览器实际安装路径 edge_options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" service = EdgeService(r'C:\Users\K13483\Desktop\edgedriver_win64\msedgedriver.exe') driver = webdriver.Edge(service=service, options=edge_options)清理Edge缓存与配置
关闭所有Edge窗口,按下Win+R输入%localappdata%\Microsoft\Edge\User Data,备份该文件夹后删除,再重新运行脚本。排查防火墙/杀毒软件拦截
临时关闭系统防火墙和第三方杀毒软件,测试是否为拦截导致问题。若是,将msedgedriver.exe添加至信任列表。重新下载EdgeDriver
即使版本号匹配,也可能存在文件损坏。从官方渠道重新下载对应版本的EdgeDriver,解压后替换原文件,确保文件完整。
内容的提问来源于stack exchange,提问作者Aaron

