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