51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 998|回复: 1
打印 上一主题 下一主题

Selenium关于invalid session id错误

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2022-2-7 14:53:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点

    请问一下,我使用Selenium跟Python做网页自动化但是随着几个帐号登入后常会遇到session id invalid的问题导致程序停止
    我在执行中已经使用try except去handle所有的错误了但是还是无法解决这个问题

    标识错误程序码片段

    1. try:
    2.             time.sleep(5)

    3.             # Geetest Image
    4.             self.waitGeetest.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[69]/div[2]/div[6]/div/div[1]/div[2]/div[2]')))
    5.         
    6.         except TimeoutException:
    7.             print('Geetest验证视窗等待超时,验证失败重新启动')
    8.             self.browser.close()
    9.             self.login()
    10.         except NoSuchElementException:
    11.             print('Geetest验证视窗未载入,验证失败重新启动')
    12.             self.browser.close()
    13.             self.login()
    14.         except Exception as e:
    15.             print('Geetest验证视窗开启失败,重新启动...意外发生')
    16.             with open('./data/Error_Record.txt', 'a+', encoding='utf-8') as f:
    17.                 f.write('Geetest未知错误: ' + Account + ' 使用代理: ' + self.ProxyString + '\n')
    18.                 f.close()
    19.              # 截取当前超时页面画面存档
    20.             self.browser.get_screenshot_as_file('./screenshot//' + self.UserID + '_LoginGeetestError.png')
    21.             self.browser.close()
    22.             self.login()  # 重新启动登入程序
    23.         else:
    24.             print('Geetest窗口已开启,进行自动验证中...')
    25.             self.GeeTest('//*[@id="region-profile-menu"]/div/div[1]/div[1]/div[1]')  # Royalty Icon
    复制代码

    错误信息

    1. Traceback (most recent call last):
    2.   File "d:\Programming\Python\StormBot\start.py", line 183, in login
    3.     self.waitGeetest.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[69]/div[2]/div[6]/div/div[1]/div[2]/div[2]')))
    4.   File "C:\Users\Ricky\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\support\wait.py", line 89, in until
    5.     raise TimeoutException(message, screen, stacktrace)
    6. selenium.common.exceptions.TimeoutException: Message:
    7. Stacktrace:
    8. Backtrace:
    9.         Ordinal0 [0x00626903+2517251]
    10.         Ordinal0 [0x005BF8E1+2095329]
    11.         Ordinal0 [0x004C2848+1058888]
    12.         Ordinal0 [0x004ED448+1233992]
    13.         Ordinal0 [0x004ED63B+1234491]
    14.         Ordinal0 [0x00517812+1406994]
    15.         Ordinal0 [0x0050650A+1336586]
    16.         Ordinal0 [0x00515BBF+1399743]
    17.         Ordinal0 [0x0050639B+1336219]
    18.         Ordinal0 [0x004E27A7+1189799]
    19.         Ordinal0 [0x004E3609+1193481]
    20.         GetHandleVerifier [0x007B5904+1577972]
    21.         GetHandleVerifier [0x00860B97+2279047]
    22.         GetHandleVerifier [0x006B6D09+534521]
    23.         GetHandleVerifier [0x006B5DB9+530601]
    24.         Ordinal0 [0x005C4FF9+2117625]
    25.         Ordinal0 [0x005C98A8+2136232]
    26.         Ordinal0 [0x005C99E2+2136546]
    27.         Ordinal0 [0x005D3541+2176321]
    28.         BaseThreadInitThunk [0x7595FA29+25]
    29.         RtlGetAppContainerNamedObjectPath [0x77047A9E+286]
    30.         RtlGetAppContainerNamedObjectPath [0x77047A6E+238]


    31. During handling of the above exception, another exception occurred:

    32. Traceback (most recent call last):
    33.   File "d:\Programming\Python\StormBot\start.py", line 114, in login
    34.     self.browser.get(self.LoginUrl)
    35.   File "C:\Users\Ricky\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 436, in get
    36.     self.execute(Command.GET, {'url': url})
    37.   File "C:\Users\Ricky\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
    38.     self.error_handler.check_response(response)
    39.   File "C:\Users\Ricky\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response      
    40.     raise exception_class(message, screen, stacktrace)
    41. selenium.common.exceptions.InvalidSessionIdException: Message: invalid session id
    复制代码


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 669 天

    连续签到: 1 天

    [LV.9]测试副司令

    2#
    发表于 2022-2-8 13:34:16 | 只看该作者
    木子
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 14:50 , Processed in 0.059502 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表