<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] 前言 最近有很多小伙伴在問如何判斷一個元素是否存在,這個方法在selenium里面是沒有的,需要自己寫咯。 元素不存在的話,操作元素會報錯,或者元素有多個,不唯一的時候也會報錯。本篇介紹兩種判斷元素存在的方法。 <br /> ## **一、find_elements方法判斷** 1. find\_elements方法是查找頁面上所有相同屬性的方法,這個方法其實非常好用,能熟練掌握技巧的不多,小編這次就發揮它的功效 2. 由于元素定位的方法很多,所以判斷的時候定位方法不統一也比較麻煩,這里我選擇css定位(有喜歡xpath的同學可以自己用xpath語法) 3. 寫一個函數判斷,找到就返回Ture,沒找到就返回False(或者不止一個) ![Snipaste_2020-08-19_16-37-44.png](https://i.loli.net/2020/08/19/5Z7wt8ijnCIQDMX.png) <br /> ## **二、百度輸入框為例** 1. 判斷id為kw的元素是否存在 2. 判斷標簽為input元素是否存在 3. 判斷id為xxx元素是否存在 ![Snipaste_2020-08-19_16-39-54.png](https://i.loli.net/2020/08/19/vBq5DF1fwXmxNOI.png) <br /> ## **三、捕獲異常方法** 1. 如果沒找到元素會拋異常,返回False 2. 如果找到元素就返回Ture 3. 但是這個方法有個弊端,如果頁面上存在多個一樣元素,也會返回Ture的(也就是說只要頁面上有元素就返回Ture,不管幾個) ![Snipaste_2020-08-19_17-18-02.png](https://i.loli.net/2020/08/19/dvyWXY1EBgJ6Sci.png) <br /> ## **四、參考代碼** ``` # coding:utf-8 from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") def is_element_exist(css): s = driver.find_elements_by_css_selector(css_selector=css) if len(s) == 0: print("元素未找到:%s" % css) return False elif len(s) == 1: return True else: print("找到%s個元素:%s" % (len(s),css)) return False # 判斷頁面上有無id為kw的元素 if is_element_exist("#kw"): driver.find_element_by_id("kw").send_keys("zjut") # 判斷頁面上有無標簽為input元素 if is_element_exist("input"): driver.find_element_by_tag_name("input").send_keys("zjut") # 判斷頁面有無id為xxx的元素 if is_element_exist("xxxx"): driver.find_element_by_id("xxxx").send_keys("zjut") def isElementExist(css): try: driver.find_element_by_css_selector(css) return True except: return False print(isElementExist("#xxx")) ```
                  <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>

                              哎呀哎呀视频在线观看