Python+Selenium練習篇之8-利用css定位元素
前面介紹了,XPath, id , class , link text, partial link text, tag name, name 七大元素定位方法,本文介紹webdriver支援的最後一個方法:by_css。css和XPath類似,也需要掌握一些語法,才能寫出正確的,完整的css選擇表示式。相關w3c介紹,請點選這裡。
相關指令碼程式碼如下:
# coding=utf-8 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(6) driver.get("https://www.baidu.com") try: driver.find_element_by_css_selector("#su") # 找 百度一下 這個按鈕 print ('test pass: element found by css selector') except Exception as e: print ("Exception found", format(e)) driver.quit()
總結:如果一開始沒有接觸css,感覺寫css表示式有點困難,沒關係。看個人喜好和適合哪個,例如,如果你掌握好了XPath的寫法,那麼就可以不去管css,畢竟大部分xpath表示式都能夠定位到元素。有些人可能說了,css要比xpath表示式查詢元素的速度要快,這個你不要去擔心,對計算機來講,你根本無法區分哪個更快,也不是自動化測試考慮的重點。
建議:一定要掌握好XPath或者css來定位元素,其他的幾種瞭解就可以。畢竟在實際專案開發指令碼階段,很多元素是無法通過id ,css, text, name來直接定位這個網頁元素,更多的還是根據XPath或者css表示式去定位。