<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] 前言 系統彈窗這個是很常見的場景,有時候它不彈出來去操作的話,會拋異常。那么又不知道它啥時候會出來,那么就需要去判斷彈窗是否彈出了。 <br /> ## 一、判斷alert源碼分析 ``` class alert_is_present(object): """ Expect an alert to be present.""" """判斷當前頁面的alert彈窗""" def __init__(self): pass def __call__(self, driver): try: alert = driver.switch_to.alert alert.text return alert except NoAlertPresentException: return False 1. 這個類比較簡單,初始化里面無內容 2. __call__里面就是判斷如果正常獲取到彈出窗的text內容就返回alert這個對象(注意這里不是返回Ture),沒有獲取到就返回False ``` ## 二、實例操作 1. 前面的操作步驟優化了下,為了提高腳本的穩定性,確保元素出現后操作,這里結合WebDriverWait里的方法; 2. 實現步驟如下,這里判斷的結果返回有兩種:沒找到就返回False;找到就返回alert對象; 3. 先判斷alert是否彈出,如果彈出就點確定按鈕accept()。 ![Snipaste_2020-09-10_10-01-38.png](http://i.loli.net/2020/09/10/ugoqLNXiwKbt8Ps.png) <br /> ## 三、參考代碼 ``` from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support.select import Select from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() driver.get("https://www.baidu.com") mouse = WebDriverWait(driver, 10).until(lambda x:x.find_element("id", "s-usersetting-top")) ActionChains(driver).move_to_element(mouse).perform() WebDriverWait(driver, 10).until(lambda x:x.find_element("css selector", ".setpref")).click() # 選擇設置項 s = WebDriverWait(driver, 10).until(lambda x:x.find_element("id", "nr_2")) # 點保存設置按鈕 js = 'document.getElementsByClassName("prefpanelgo")[0].click();' driver.execute_script(js) # 判斷彈框結果 result = EC.alert_is_present()(driver) if result: print(result.text) result.accept() else: print("alert未彈出!!") ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看