You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium如何调用已激活会话?避免新建窗口与卡顿问题

问题:复用Selenium已登录会话失败,全局driver导致卡顿/线程异常

我正在使用Selenium加载一个已通过InitialCall()完成登录的网站,但无法访问已加载的会话。查到的方案都指向启动新的Selenium WebDriver,但我希望直接调用已处于激活状态的现有driver。

以下是我的实现代码:

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("user-data-dir=C:\\direcorty\\where driver is stored ")  # 存储cookies的目录

driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('mail.websiteurl.com')

def initialCall():
    # 执行登录流程,之后进入管理员页面
    driver.find_element_by_class_name("5oead").get_attribute('innerHTML')
    # 尝试在此保存会话
    with open(path, 'w') as filehandler:
        json.dump(driver.get_cookies(), filehandler)
        
def callAlreadyLoggedSession():
    # chrome_options = webdriver.ChromeOptions()
    # chrome_options.add_argument("user-data-dir=C:\\direcorty\\where driver is stored ")  # 存储cookies的目录
    driver.find_element_by_class_name("5oead").get_attribute('innerHTML')
    # with open(path, 'r') as cookiesfile:
        # cookies = json.load(cookiesfile) 
        # for cookie in cookies:
            # print(cookie)
            # driver.add_cookie(cookie)

上述代码会加载新会话并关闭原有窗口,我希望直接访问现有会话而不新建窗口。

更新

我已做出修改,但出现了新问题:将Selenium driver从函数内部移至全局作用域后,系统出现卡顿且无法使用线程。


内容的提问来源于stack exchange,提问作者jarhead

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:35:26