1. 程式人生 > >一:unittest框架配合selenium工具之CSS_selector定位。

一:unittest框架配合selenium工具之CSS_selector定位。

fix path unittest xpath itl ace send css max

做了自動化測試這麽久了,一直沒有梳理到元素定位這一塊的內容,其重要性不言而喻。趁著周末有時間,梳理一下。

1,通過id定位

driver.find_element_by_css_selector("#kw").clear()                   
driver.find_element_by_css_selector("#kw").send_keys("selenium")

2,通過class定位

driver.find_element_by_css_selector("input.bg").click()
其中class的值之間有空格時,只需要在空格中間加個點號就可以。
如:
driver.find_element_by_css_selector("div.clearfix.oe_login_buttons“)。click()


3,通過屬性定位
driver.find_element_by_css_selector("[placeholder=‘請輸入密碼‘]").clear()

4,通過元素的層級定位
driver.find_element_by_css_selector("div.clearfix.oe_login_buttons>button.btn.btn-primary").click()


工作中經常用的定位方法是通過兒子找父親,再找父親的兄弟。不知道CSS能不能實現。後續再補充與更新。反正XPATH是可以實現的。
最後上一段完整的代碼吧。
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(20)
driver.get("http://www.***************")
driver.find_element_by_css_selector("[name=‘login‘]").clear()
driver.find_element_by_css_selector("[name=‘login‘]").send_keys(u"大猩猩")
driver.find_element_by_css_selector("[placeholder=‘請輸入密碼‘]").clear()
driver.find_element_by_css_selector("[placeholder=‘請輸入密碼‘]").send_keys("13*********")
driver.find_element_by_css_selector("div.clearfix.oe_login_buttons>button.btn.btn-primary").click()
time.sleep(3)
driver.quit()

一:unittest框架配合selenium工具之CSS_selector定位。