selenium+python自動化測試--隱藏元素


最近工作中遇到了關於隱藏元素如何定位與點擊的問題,下面就總結下解決過程。

場景:在輸入框中輸入搜索條件(admin),下面出現相應的搜索結果,選擇搜索結果。搜索結果區在未搜索前和選擇結果后為隱藏狀態。

1、思路分析:

(1)點擊編輯按鈕(出現普通彈框)

(2)輸入搜索條件

(3)選擇搜索結果

(4)點擊確定按鈕進行保存

2、初步代碼編寫

文件名稱:architectureCard.py

from selenium import webdriver import time base_url="url地址" driver = webdriver.Firefox() driver.get(base_url+"/6403/card") driver.maximize_window() #點擊編輯按鈕
driver.find_element_by_css_selector(".sc-ebFjAB.jLsEQY.sc-rBLzX.crxYrd").click() #輸入搜索條件
driver.find_elements_by_tag_name("input")[6].send_keys("admin") time.sleep(2) #選擇搜索值
js = 'document.getElementsByClassName("bp3-menu-item bp3-popover-dismiss")[1].click()' driver.execute_script(js) time.sleep(2) #點擊確定
driver.find_element_by_css_selector(".bp3-button.bp3-intent-primary.sc-cLQEGU.hOClYU").click() time.sleep(3) driver.quit()

3、代碼優化,頁面封裝與調試

文件名稱:architectureCard.py

from selenium import webdriver from common.base import Base import time base_url = "url地址"

class EditArch(Base): #編輯架構卡按鈕
    editarch = ("css selector",".sc-ebFjAB.jLsEQY.sc-rBLzX.crxYrd") #責任人輸入框,取輸入框第七個
    person = ("tag name","input") #確定按鈕
    submit = ("css selector",".bp3-button.bp3-intent-primary.sc-cLQEGU.hOClYU") def editArch(self): #點擊編輯按鈕
 self.click(self.editarch) #輸入搜索條件
        aa=self.finds(self.person) aa[6].send_keys("admin") time.sleep(2) #選擇搜索結果
        js = 'document.getElementsByClassName("bp3-menu-item bp3-popover-dismiss")[1].click()' self.driver.execute_script(js) #點擊確定按鈕
 self.click(self.submit) if __name__ == '__main__': driver = webdriver.Firefox() driver.get(base_url+"/6403/card") driver.maximize_window() time.sleep(2) editA = EditArch(driver) editA.editArch() time.sleep(2) driver.quit()

通過上圖和代碼可以發現,隱藏元素(搜索結果)可以定位到,但是在選中(點擊)搜索結果時,卻沒有使用普通定位加click的方法,是因為click在點擊隱藏元素的時候很難點擊到,用js方法即可解決隱藏元素點擊問題。

4、代碼運行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM