鍍金池/ 問答/Python  HTML/ python中能否使用selenium獲取彈窗的文本內(nèi)容?

python中能否使用selenium獲取彈窗的文本內(nèi)容?

問題如下:網(wǎng)頁輸入驗證碼正確并且查詢到結(jié)果則跳轉(zhuǎn),未查詢到結(jié)果則彈窗(如下),輸入錯誤也彈窗(兩個彈窗文本內(nèi)容不同)。如何獲取未查詢到結(jié)果的彈窗和驗證碼錯誤的彈窗文本內(nèi)容,再根據(jù)其彈窗內(nèi)容執(zhí)行相應(yīng)的操作。
圖片描述

圖片描述

代碼情況:python3

    browser =webdriver.Chrome()
    browser.get('http://cet.neea.edu.cn/cet')
    input_zkzh = browser.find_element_by_id('zkzh')
    input_zkzh.send_keys('example')
    input_zkzh = browser.find_element_by_id('name')
    input_zkzh.send_keys('example')
    browser.execute_script('javascript:result.verifys()')
    #(這里接入驗證碼處理)...
    time.sleep(10)
    button =browser.find_element_by_id('submitButton')
    button.click()
    time.sleep(1)
    #(之后根據(jù)彈窗文本內(nèi)容執(zhí)行相應(yīng)操作)....

我嘗試使用如下代碼來處理彈窗,可以實現(xiàn)對彈窗的操作,無法根據(jù)彈窗內(nèi)容來執(zhí)行相應(yīng)的操作,并且如果網(wǎng)頁成功跳轉(zhuǎn)后會報錯,報錯內(nèi)容查詢百度和谷歌得到的答案時處理alert時出現(xiàn)錯誤,但我無法解決。

al = browser.switch_to_alert()
al.accept()

#報錯內(nèi)容
...
selenium.common.exceptions.NoAlertPresentException: Message: no such alert
(Session info: chrome=67.0.3396.87)  (Driver info: chromedriver=2.39.562718 
(9a2698cba08cf5a471a29d30c8b3e12becabb0e9),platform=Windows NT 10.0.17134 x86_64)

希望處理過類似情況的朋友可以幫助我一下,或者告訴一下我是否有selenium外的模塊可以實現(xiàn),萬分感謝!

回答
編輯回答
陌顏

已在api文檔中找到方法,使用 Alert(browser).text來獲取彈窗的文本

2017年10月1日 11:48