<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 /> ## **一、查看頁面元素:** 以百度搜索框為例,先打開百度網頁 1. 將箭頭移動到百度搜索輸入框上,輸入框高亮狀態 2. 下方紅色區域就是單位到輸入框的屬性: `<input id="kw" class="s_ipt" type="text" autocomplete="off" maxlength="100" name="wd">` ![](https://img.kancloud.cn/c5/b5/c5b5b0c89cc0bf9a2fc682dad56e6801_690x392.png) <br /> ## **二、元素定位:find\_element\_by\_id()** 1. 從上面定位到的元素屬性中,可以看到有個id屬性:id="kw",這里可以通過它的id屬性單位到這個元素。 2. 定位到搜索框后,用send\_keys()方法 ![](https://img.kancloud.cn/97/83/9783d79250865460ebe6acbf16a070b3_638x210.png) <br /> 元素定位:find\_element\_by\_name() ????1.從上面定位到的元素屬性中,可以看到有個name屬性:name="wd",這里可以通過它的name屬性單位到這個元素。 ????說明:這里運行后會報錯,說明這個搜索框的name屬性不是唯一的,無法通過name屬性直接定位到輸入框 ![](https://img.kancloud.cn/0a/cc/0acc1f0f1a842753919bb399472b0ae8_623x209.png) <br /> 元素定位:find\_element\_by\_class\_name() ????1.從上面定位到的元素屬性中,可以看到有個class屬性:class="s\_ipt",這里可以通過它的class屬性定位到這個元素。 ![](https://img.kancloud.cn/2d/60/2d60f9a9158cfbeffdab1faacb0d0008_661x212.png) <br /> 元素定位:find\_element\_by\_tag\_name() ????1.從上面定位到的元素屬性中,可以看到每個元素都有tag(標簽)屬性,如搜索框的標簽屬性,就是最前面的input ????2.很明顯,在一個頁面中,相同的標簽有很多,所以一般不用標簽來定位。 ![](https://img.kancloud.cn/7d/9b/7d9b9f7d4fba42b40f20a2d5d3813be4_655x209.png) <br /> 元素定位:find\_element\_by\_link\_text() ????1.定位百度頁面上"hao123"這個按鈕 ![](https://img.kancloud.cn/42/36/4236779ae92dad1196e1d6c07f3ea991_690x337.png) 查看頁面元素: `<a href="https://www.hao123.com" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>` <br /> 2. 從元素屬性可以分析出,有個href?= "http://www.hao123.com 說明它是個超鏈接,對于這種元素,可以用以下方法 ![](https://img.kancloud.cn/71/4d/714d560f09cbfe82e437414cfee1a2b6_659x220.png) <br /> 元素定位:find\_element\_by\_partial\_link\_text() ????1.有時候一個超鏈接它的字符串可能比較長,如果輸入全稱的話,會顯示很長,這時候可以用一模糊匹配方式,截取其中一部分字符串就可以了 ????2.如“hao123”,只需輸入“ao123”也可以定位到 ![](https://img.kancloud.cn/38/9a/389ad0643c0faffa833d44bd5d40d397_681x211.png) <br /> 元素定位:find\_element\_by\_xpath() ????1.以上定位方式都是通過元素的某個屬性來定位的,如果一個元素它既沒有id、name、class屬性也不是超鏈接,這么辦呢?或者說它的屬性很多重復的。這個時候就可以用xpath解決 ????2.xpath是一種路徑語言,跟上面的定位原理不太一樣。 ![](https://img.kancloud.cn/74/f8/74f846eef28e5ba3816fc9ea74a6b4d4_688x500.png) <br />? 元素定位:find\_element\_by\_css\_selector() ????1.css是另外一種語法,比xpath更為簡潔,但是不太好理解。這里先學會如何用工具查看,后續的教程再深入講解。 ![](https://img.kancloud.cn/de/7a/de7a2dd02592eeaea3d6bdc2ef16210f_690x320.png) ## **總結:** selenium的webdriver提供了八種基本的元素定位方法,前面六種是通過元素的屬性來直接定位的,后面的xpath和css定位更加靈活,需要重點掌握其中一個。 1.通過id定位:find\_element\_by\_id() 2.通過name定位:find\_element\_by\_name() 3.通過class定位:find\_element\_by\_class\_name() 4.通過tag定位:find\_element\_by\_tag\_name() 5.通過link定位:find\_element\_by\_link\_text() 6.通過partial\_link定位:find\_element\_by\_partial\_link\_text() 7.通過xpath定位:find\_element\_by\_xpath() 8.通過css定位:find\_element\_by\_css\_selector()
                  <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>

                              哎呀哎呀视频在线观看