selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: Message: unexpected alert open:


Traceback (most recent call last):
  File "D:/selenium/ZenTaoTestPro/Action/login_action.py", line 40, in <module>
    login.login_fail('test', 'test001')
  File "D:/selenium/ZenTaoTestPro/Action/login_action.py", line 27, in login_fail
    self.login_action(username, password)
  File "D:/selenium/ZenTaoTestPro/Action/login_action.py", line 17, in login_action
    self.login_page.screenshot_as_file()
  File "D:\selenium\ZenTaoTestPro\common\base_page.py", line 284, in screenshot_as_file
    self.driver.get_screenshot_as_file(screenshot_filepath)
  File "D:\Software\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1032, in get_screenshot_as_file
    png = self.get_screenshot_as_png()
  File "D:\Software\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1064, in get_screenshot_as_png
    return base64.b64decode(self.get_screenshot_as_base64().encode('ascii'))
  File "D:\Software\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1074, in get_screenshot_as_base64
    return self.execute(Command.SCREENSHOT)['value']
  File "D:\Software\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "D:\Software\python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 241, in check_response
    raise exception_class(message, screen, stacktrace, alert_text)
selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: 
Message: unexpected alert open: <unknown>
  (Session info: chrome=81.0.4044.138)


Process finished with exit code 1

定位上述错误地方:

  File "D:/selenium/ZenTaoTestPro/Action/login_action.py", line 17, in login_action
    self.login_page.screenshot_as_file()
  File "D:\selenium\ZenTaoTestPro\common\base_page.py", line 284, in screenshot_as_file
    self.driver.get_screenshot_as_file(screenshot_filepath)
  File "D:\Software\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1032, in get_screenshot_as_file
    png = self.get_screenshot_as_png()

  是因为调用方法里写的 self.driver.get_screenshot_as_file(screenshot_filepath) 导致的错误;将方法中的这块删除就能解决问题:

# 错误代码
def login_action(self, username, password): self.login_page.implicitly_wait() self.login_page.input_username(username) self.login_page.input_password(password) self.login_page.click_login_button() # self.login_page.screenshot_as_file() #删除
# 调用    
def login_fail(self, username, password):
        self.login_action(username, password)
        return self.login_page.get_login_fail_alert_content()

# 调试
if __name__ == '__main__':
    driver = Browser().get_driver()
    login = LoginAction(driver)
    bp = BasePage(driver)
    bp.open_url(local_config.test_url)
    login.login_fail('test', 'test001')

  这样就解决问题了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM