<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] **前言**?? 前面的幾篇都是講如何定位一個元素,有時候一個頁面上有多個對象需要操作,如果一個個去定位的話,比較繁瑣,這時候就可以定位一組對象。 webdriver 提供了定位一組元素的方法,跟前面八種定位方式其實一樣,只是前面是單數,這里是復數形式:find\_elements 本篇拿百度搜索作為案例,從搜索結果中隨機選擇一條搜索結果,然后點擊查看。 ## 一、定位搜索結果 1. 在百度搜索框輸入關鍵字“測試部落”后,用F12查看頁面元素,可以看到這些搜索結果有共同的屬性。 ![](https://img.kancloud.cn/3c/c6/3cc6a3be81583a9effb67d63ae815042_690x288.png) 2. 從搜索的結果可以看到,他們的父元素一樣: 3. 標簽都一樣,且target屬性也一樣:`<a?target="_blank"?` 4. 于是這里可以用css定位(當然用xpath也是可以的) ``` from selenium import webdriver import random driver = webdriver.Chrome() driver.get("http://www.baidu.com") driver.implicitly_wait(10) driver.find_element_by_id("kw").send_keys("測試部落") driver.find_element_by_id("su").submit() s = driver.find_elements_by_css_selector("h3.t>a") ``` <br /> ## 二、確認定位結果 1. 前面的定位策略只是一種猜想,并不一定真正獲取到自己想要的對象的,也行會定位到一些不想要的對象。 2. 于是可以獲取對象的屬性,來驗證下是不是定位準確了。這里可以獲取href屬性,打印出url地址 ![](https://img.kancloud.cn/36/1d/361d814d00075a98aa6cb5a414a7e8a0_690x354.png) <br /> ## 三、隨機函數 1. 搜索結果有10條,從這10條中隨機取一個就ok了 2. 先導入隨機函數:import random 3. 設置隨機值范圍為0~9:a=random.randint(0~9) ![](https://img.kancloud.cn/56/63/5663c52a92a104d07c49901658080e1d_690x247.png) <br /> ## 四、隨機打開url 1. 從返回結果中隨機取一個url地址 2. 通過get方法打卡url 3. 其實這種方式是接口測試了,不屬于UI自動化,這里只是開闊下思維,不建議用這種方法 ``` from selenium import webdriver import random driver = webdriver.Chrome() driver.get("http://www.baidu.com") driver.implicitly_wait(10) driver.find_element_by_id("kw").send_keys("測試部落") driver.find_element_by_id("su").submit() s = driver.find_elements_by_css_selector("h3.t>a") # 設置隨機值 t = random.randint(0, 9) # 隨機取一個結果獲取url地址 a = s[t].get_attribute("href") print(a) driver.get(a) ``` <br /> ## 五、通過click點擊打開 ???? 前面那種方法,是直接訪問url地址,算是接口測試的范疇了,真正模擬用戶點擊行為,得用click的方法 ``` import random driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.implicitly_wait(10) driver.find_element_by_id("kw").send_keys(u"測試部落") driver.find_element_by_id("kw").submit() s = driver.find_element_by_css_selector("h3.t>a") # 設置隨機值 t = random.randint(0,9) # 隨機取一個結果點擊鼠標 s[t].click() ``` 不知道有小伙伴有沒注意一個細節,前面在搜索框輸入關鍵字后,我并沒有去點擊搜索按鈕,而是用的submit的方法,submit相當于回車鍵。 具體的操作對象方法,下篇詳細介紹。本篇主要學會定位一組對象,然后隨機操作其中的一個。
                  <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>

                              哎呀哎呀视频在线观看