首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“指定的会话ID不存在或不再处于活动状态”来自selenium on Edge browser的异常。

指定的会话ID不存在或不再处于活动状态是来自Selenium在Edge浏览器上的异常。Selenium是一个自动化测试工具,用于模拟用户在Web应用程序上的操作。Edge浏览器是微软开发的一款Web浏览器。

当使用Selenium在Edge浏览器上执行测试时,可能会遇到指定的会话ID不存在或不再处于活动状态的异常。这通常是由以下原因引起的:

  1. 会话ID不存在:在测试过程中,Selenium会为每个会话分配一个唯一的会话ID。如果指定的会话ID不存在,可能是因为会话已经被关闭或过期,或者在测试过程中发生了意外的错误导致会话ID无效。
  2. 会话不再处于活动状态:会话在被创建后,会处于活动状态,表示可以执行操作。如果会话不再处于活动状态,可能是因为会话已经被关闭或过期,或者在测试过程中发生了意外的错误导致会话无效。

为解决这个异常,可以尝试以下方法:

  1. 检查会话ID是否正确:确保在测试代码中使用的会话ID是正确的,并且与正在运行的会话匹配。
  2. 检查会话状态:在执行任何操作之前,可以先检查会话的状态,确保会话处于活动状态。可以使用Selenium提供的方法来获取会话状态。
  3. 重新创建会话:如果会话ID不存在或不再活动状态,可以尝试重新创建一个新的会话。可以使用Selenium提供的方法来创建新的会话。
  4. 检查Edge浏览器和Selenium版本的兼容性:确保使用的Edge浏览器和Selenium版本是兼容的。有时候,不同版本的浏览器和Selenium可能存在兼容性问题,导致会话异常。

总结: 指定的会话ID不存在或不再处于活动状态是来自Selenium在Edge浏览器上的异常,可能是由于会话ID无效或会话不再活动状态引起的。解决方法包括检查会话ID的正确性,检查会话状态,重新创建会话以及检查浏览器和Selenium版本的兼容性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Selenium异常集锦

InvalidElementStateException 当命令无法完成时会抛出此Selenium异常,因为该元素处于无效状态未启用该元素来执行该操作。...这将导致无法找到所需Web元素。 InvalidSessionIdException 如果在Selenium测试自动化实现中使用会话ID无效,即不在当前活动会话列表中,则抛出此异常。...如果会话处于活动状态从未存在过,则可能发生这种情况。...NoSuchCookieException 当当前浏览上下文活动document关联cookie中不存在与给定路径名匹配cookie时,会发生此Selenium异常。...由于WebDriver实例不再存在,因此对该特定WebDriver实例任何操作都将返回此异常。 NotFoundException 当DOM上不存在任何元素时,将发生此异常

5.3K20

Python Webdriver 重新使用已经打开浏览器实例

目录[-] 因为Webdriver每次实例化都会新开一个全新浏览器会话,在有些情况下需要复用之前打开未关闭会话。比如爬虫,希望结束脚本时,让浏览器处于空闲状态。...打开一个Chrome会话: from selenium import webdriver driver = webdriver.Chrome() 运行上面的脚本,它将启动浏览器并退出。...一切就绪,下面就开始实现复用之前会话功能,在Stack Overflow上面讲实现是这样: from selenium import webdriver driver = webdriver.Chrome...自定义一个ReuseChrome这个类重写start_session方法使它不再新建session,使用传入session_id: class ReuseChrome(Remote): def...(executor_url) # 假如driver对象不存在,但浏览器未关闭 del driver # 使用ReuseChrome()复用上次session driver2 = ReuseChrome

3.8K60
  • EvilSelenium:一款功能强大Chromium浏览器渗透测试工具

    关于EvilSelenium EvilSelenium是一款基于Selenium渗透测试工具,该工具基于武器化Selenium实现其功能,可以帮助广大研究人员针对基于Chromium浏览器进行安全分析和渗透测试...注意事项 1、该工具在运行时候,将会判断当前设备是否存在正在运行浏览器进程,以便获取包含了密码和活动会话用户浏览器数据; 2、Selenium模块不是非常稳定,而且随着网站变化,某些模块运行可能会偶尔中断.../dynamicid - 提供包含了用户名输入字段ID和密码字段ID登录URL。 /dynamicname - 如果字段不包含ID,则提供字段name值。.../dynamicname2 - 提供字段name值以及索引位置。 Cookie模块 /cookies - 从指定网站导出Cookie数据。...杂项模块 下面给出是该工具支持一些额外模块: /download - 下载文件&指定等待下载时间。 /exfil - 向filebin.net上传一个文件&指定上传完成等待时间。

    1.1K20

    selenium源码通读·2 | commonexceptions.py异常

    :1、找不到元素时引发2、如果遇到此类异常,可能需要检查以下内容:A、检查find_by中使用选择器;B、元素在查找操作时可能尚未出现在屏幕上,(网页仍在加载)请参阅selenium。...当要切换frame窗口目标不存在时引发 pass占位NoSuchFrameException当要切换frame目标不存在时抛出,继承InvalidSwitchToTargetExceptionpass...占位NoSuchWindowException当要切换窗口目标不存在时抛出,要查找当前活动窗口句柄集,可以获取一个列表按以下方式创建活动窗口句柄:print driver.window_handlespass...“stale”时引发,Stale表示元素不再出现在页面的DOM上InvalidElementStateException 由于元素处于无效状态而无法完成命令时引发,这可能是因为试图清除既不可编辑又不可重置元素...为交互操作提供坐标无效pass占位 InvalidSessionIdException如果给定会话id不在活动会话列表中,则发生,这意味着该会话不存在活动 pass占位 SessionNotCreatedException

    1.4K50

    Requestium - 将Requests和Selenium合并在一起自动化测试工具

    该库是为编写 web 自动化脚本而创建,这些脚本主要使用请求编写,但能够在维护会话同时,无缝切换到网站中 JavaScript 密集部分 Selenium。...Requestium 为 Requests 和 Selenium 添加了独立改进,并且每一个新功能都经过了延迟评估,因此即使编写只使用 Requests Selenium 脚本,它也很有用。...特点: 1、在维护当前 web 会话同时,启用请求会话Selenium web 驱动程序之间切换。...它以 Selenium find_element_by_ 方法命名(如果找不到元素,它们会立即引发异常)。...Requestium 可以等待一个元素处于以下任何状态: 存在(默认) 可点击 看得见 不可见(可用于等待加载...

    33610

    Selenium使用方法简介

    声明浏览器对象 Selenium支持非常多浏览器,如Chrome、Firefox、Edge等,还有Android、BlackBerry等手机端浏览器。另外,也支持无界面浏览器PhantomJS。...显式等待 隐式等待效果其实并没有那么好,因为我们只规定了一个固定时间,而页面的加载时间会受到网络条件影响。 这里还有一种更合适显式等待方法,它指定要查找节点,然后指定一个最长等待时间。...://www.baidu.com') browser.find_element_by_id('hello') 这里首先打开百度页面,然后尝试选择一个并不存在节点,此时就会遇到异常。...-> 5 browser.find_element_by_id('hello') 可以看到,这里抛出了`NoSuchElementException`异常,这通常是节点未找到异常。...现在,我们基本对Selenium常规用法有了大体了解。使用Selenium,处理JavaScript不再是难事。 崔庆才 静觅博客博主

    5K61

    web自动化测试入门篇04——selenium+python基础方法封装

    =profile) elif browser == 'ie': driver = webdriver.Ie() else: driver = webdriver.Edge...FirefoxProfile()这个是用来指定火狐浏览器内用户设定档案,一般可以开启关闭某些浏览器内功能来达到我们测试业务需求,如果你用selenium启动火狐的话都会默认新建一个这样档案,那在代码中的话你可以指定档案保存路径并在后续对其指定功能进行开启关闭...2.1.2 检查URL  封装功能比较简单,这里检查URL内是否含有http,大家可以根据自己需求将判断逻辑这块加强,将错误之后抛异常动作实现成自动添加httphttps至url开头处等都可...测试中不需要将用例结果进行数据持久化,可以替换两个判断分支中业务操作,打印到后台还是写入文件根据自己测试流程要求来自定义即可。...需要注意点就是如果定位元素本身出了问题的话,我们可以利用判断条件来规避一些异常情况。

    63840

    python爬虫从入门到放弃(八)之 Selenium使用

    (By.ID,"q") print(input_first) browser.close() 当然这种方法和上述方式是通用browser.find_element(By.ID,"q")这里By.ID...换句话说,当查找元素元素并没有立即出现时候,隐式等待将等待一段时间再查找 DOM,默认时间是0 隐式等待 到了一定时间发现元素还没有加载,则继续等待我们指定时间,如果超过了我们指定时间还没有加载就会抛出异常...') print(input) 显示等待 指定一个等待条件,并且指定一个最长等待时间,会在这个时间内进行判断是否满足等待条件,如果成立就会立即返回,如果不成立,就会一直等待,直到等待你指定最长等待时间...(browser.window_handles[0]) browser.get('https://python.org') 异常处理 这里异常比较复杂,官网参考地址: http://selenium-python.readthedocs.io.../api.html#module-selenium.common.exceptions 这里只进行简单演示,查找一个不存在元素 from selenium import webdriver from

    2.9K70

    Selenium使用

    (By.ID,"q")print(input_first)browser.close() 当然这种方法和上述方式是通用browser.find_element(By.ID,"q")这里By.ID...,当查找元素元素并没有立即出现时候,隐式等待将等待一段时间再查找 DOM,默认时间是0 隐式等待 到了一定时间发现元素还没有加载,则继续等待我们指定时间,如果超过了我们指定时间还没有加载就会抛出异常...')print(input) 显示等待 指定一个等待条件,并且指定一个最长等待时间,会在这个时间内进行判断是否满足等待条件,如果成立就会立即返回,如果不成立,就会一直等待,直到等待你指定最长等待时间...(browser.window_handles[0])browser.get('https://python.org') 异常处理 这里异常比较复杂,官网参考地址: http://selenium-python.readthedocs.io.../api.html#module-selenium.common.exceptions 这里只进行简单演示,查找一个不存在元素 from selenium import webdriverfrom

    1.4K20

    玫瑰花变蚊子血,自动化无痕浏览器对比测试,新贵PlayWright Vs 老牌Selenium,基于Python3.10

    ,本次我们来对比PlayWright与Selenium之间差异,看看曾经玫瑰花Selenium是否会变成蚊子血。    ...其中使用最广泛就是基于Chromium内核浏览器,最负盛名就是GoogleChrome和微软自家Edge。    ...随后通过channel指定edge浏览器,截图后关闭浏览器进程:     我们也可以指定headless参数为True,让浏览器再后台运行: from playwright.sync_api import...-o 'edge.py' -b chromium --channel=msedge     这里通过codegen命令进行录制,指定浏览器为edge,将所有操作写入edge.py文件中:    ...首先导入必要模块并配置 Selenium 实例,并且通过设置确保无头模式处于活动状态option.headless = True: from selenium import webdriver from

    83530

    2万字带你了解Selenium全攻略

    支持浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera和Edge等。...from selenium import webdriver # 初始化浏览器为chrome浏览器 browser = webdriver.Chrome() # 指定绝对路径方式 path = r'C...:在当前页面中,每个元素都有一个唯一idnameclass超链接文本属性,那么我们就可以通过这个唯一属性值来定位他们。...) poll_frequency: 每次检测间隔时间,默认是0.5秒 ignored_exceptions:超时后异常信息,默认情况下抛出NoSuchElementException异常 until...传入异常 until_not(method,message='') until_not 与until相反,until是当某元素出现什么条件成立则继续执行,until_not是当某元素消失什么条件不成立则继续执行

    2.7K30

    Selenium简单基础详解(II)

    ​ ​前言 活动地址:CSDN21天学习挑战赛 学习最大理由是想摆脱平庸,早一天就多一份人生精彩;迟一天就多一天平庸困扰。...() # 后退 browser.back() 六、执行js from selenium import webdriver browser = webdriver.Chrome() url = 'https...(js) # 执行js方法 browser.quit() 七、页面等待 现在网页大部分采用了Ajax技术 (AJAX即“Asynchronous JavaScript and XML”(非同步...来自维基百科  非同步技术导致程序不能精准地确定什么时间什么元素完全加载完成,如果实际页面等待时间过长,这将会导致元素不完全,但是代码将会直接使用,所以就会报错。...显式等待是指定某一条件成立时继续执行                 即等待某个指定元素,然后设置最长等待时间,如果在这个时间内还没有找到元素,则程序将会抛出异常

    37720

    python爬虫---从零开始(六)Selenium

    () browser = webdriver.Safari() browser = webdriver.Edge() browser = webdriver.Firefox() browser = webdriver.PhantomJS...等待: 隐式等待 : 当使用了隐式等待执行测试时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间则抛出找不到元素异常,换句话来说,当元素查找元素没有立即出现时候,隐式等待将等待一段时间再查找...) 异常处理: #!.../usr/bin/env python # -*- coding: utf-8 -*- # 异常处理 from selenium import webdriver from selenium.common.exceptions...由于异常处理比较复杂,异常也有很多,在这里不在一一列举了,建议大家去官网查看,地址:https://selenium-python.readthedocs.io/api.html#module-selenium.common.exceptions

    1.1K20

    python 爬虫之selenium可视化爬虫

    简单测试 from selenium import webdriver # #声明浏览器对象 browser1 = webdriver.Chrome() browser2 = webdriver.Firefox...() # #访问页面 browser1.get("http://www.baidu.com") print(browser1.page_source) #关闭当前窗口 browser1.close()...元素定位 要想对页面进行操作,首先要做是选中页面元素, 比较常见八种元素定位方式,如下表 定位一个元素 定位多个元素 定位方式描述 find_element_by_id find_elements_by_id...,如果超过超时时间元素依然没被加载,就会抛出异常 from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait...dom树里不可见 text_to_be_present_in_element 判断元素中text是否包含了预期字符串 text_to_be_present_in_element_value 判断元素中

    1.9K61

    selenium使用

    selenium 是一个用于Web自动化测试工具。selenium在爬虫,主要是用来解决javascript渲染问题 。...也就是requests或者urlib库无法正常获取网页内容时候,可以考虑使用selenium 安装 pip insatll selenium 由于如果需要使用selenium的话,需要为本机配置对应浏览器驱动...webdriver.Firefox() browser = webdriver.Edge() browser = webdriver.PhantomJS() browser = webdriver.Safari...') print(logo) print(logo.text) 等待 隐式等待 当使用了隐式等待执行测试时候,如果 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素异常..., 换句话说,当查找元素元素并没有立即出现时候,隐式等待将等待一段时间再查找 DOM,默认时间是0 from selenium import webdriver browser = webdriver.Chrome

    96130

    Selenium 自学系列】(一)看源码分析交互原理

    Selenium 3 开始已经不再支持Selenium RC WebDriver也有缺点,不同浏览器厂商,对Web元素操作和呈现或多或少会有差异,这就直接导致了Selenium WebDriver...要分浏览器厂商不同,而提供不同实现 Selenium 3 支持了Edge和safari 浏览器原生驱动,Edge驱动由微软提供,Safari原生驱动由Apple提供 Selenium 第一个例子 要想使用...接受请求,并调用已封装好浏览器原生API执行相应操作,执行完毕后,在Response中返回执行状态、返回值等信息 从源码分析 Selenium WebDriver 我们再从从源码层面解读一下WebDriver...,该代码启动了Web服务,监听来自客户端连接 self.service = service self.service.start() 通过上面3行代码,我们可以得出结论:调用ChromeDriver...sessionId,sessionId存放在cookie里面,后面所有跟浏览器交互都是基于该id进行 小结 当我们执行以下两行代码后,Selenium 会启动WebDriver进程绑定某个端口,作为

    1.1K30

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-62 - 判断元素是否可操作

    5.拓展如果你不想用或者觉得selenium自带API不能满足你要求,你也可以根据自己需要定义一个API,然后进行调用使用。...selector, timeout=5000) # 等待元素出现,超时时间为5秒 return True except Exception as e: # 如果在等待元素获取元素时发生异常...selector, timeout=5000) # 等待元素出现,超时时间为5秒 return True except Exception as e: # 如果在等待元素获取元素时发生异常...is_element_present(page,"input#kw"): searchInputBox = page.locator("#kw") '''判断searchInputBox变量对象是否处于可用状态...如果处于可用状态,则输入“百度首页搜索输入框被成功找到!”

    20630
    领券