早上好,我使用硒做一些网络抓取,直到昨天一切都工作得很好,现在我得到这个错误,我知道这是由于更新二进制文件,但是因为我想共享程序,我希望二进制文件在我创建的文件夹中,这样它就可以与打开程序的人一起工作。这是代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.options import Options
from selenium.webdriver.edge.service import Service
from selenium.webdriver.support.ui import WebDriverWait
# options
options = Options()
options.use_chromium = True
options.add_argument("--headless")
options.add_argument("disable-gpu")
options.add_argument('--allow-running-insecure-content')
options.add_argument('--ignore-certificate-errors')
options.add_experimental_option('excludeSwitches', ['enable-logging'])
# Selenium driver path
s=Service("./Monatseinteilung/driver/msedgedriver.exe")
driver = webdriver.Edge(service=s, options=options)
是错误:selenium.common.exceptions.SessionNotCreatedException: Message: session not created:此版本的MSEdgeDriver只支持MSEdge version 100当前浏览器版本为102.0.1245.30,二进制路径为C:Program Files (x86)MicrosoftEdge Applicationmsedge.exe
您必须更改msedgedriver.exe
驱动程序以匹配您在计算机上安装的MS Edge版本(102)。你可以从这里下载。替换您的msedgedriver.exe
,这个脚本应该开始工作。每次microsoft Edge更新时,您都必须这样做。
由于您正在使用Python并且希望共享程序,因此这可能不是很方便。所以,相反,你可以尝试库,如selenium_driver_updater,或webdriver_auto_update虽然webdriver_auto_update
似乎只支持Chrome。之后,您可以在每次运行脚本
时检查可用的最新驱动程序。Forselenium_driver_updater
filename = DriverUpdater.install(path=base_dir, driver_name=DriverUpdater.chromedriver, upgrade=True, check_driver_is_up_to_date=True, old_return=False)
driver = webdriver.Chrome(filename)
Forwebdriver_auto_update
:
check_driver('folder/path/of/your/chromedriver')