之前做自動化測試一直用RF框架來操作,發現了明顯與unittest的靈活性相差一點。
重新溫習了unittest框架,其中這個框架,元素定位是難點,以前更多的使用JQUERY方式定位,
發現其實與CSS定位很相近,有很多共通之處。
今天順便來復習一下。以前XPATH定位用的也比較多。但圖方便之時,很少自己去定位,直接用工具了。
多話不說了,CSS定位總體上有幾種,
一,通過元素屬性來定們,
例子:driver.find_element_by_css_selector(".class")
drvier.find_element_by_css_selector("#id")
二,通過標簽名來定位。
driver.find_element_by_css_selector("input")
這種方式找到元素的概率非常低。因為標簽名重復的概率非常大。
1,通過父子關系定位。
driver.find_element_by_css_selector("span>input")
2,通過屬性定位
driver.find_element_by_css_selector("[name=kw]")
driver.find_element_by_css_selector("[type=submit]")
3.組合定位
driver.find_element_by_css_selector("form.fm>span>input>input.s_ipt")
driver.find_element_by_css_selector("form#form>span>input#kw")
今天就暫時記錄這么多。后續補充。
還有一種,通過兄弟元素來找,例子:div+input
后面補充的內容是從https://blog.csdn.net/ouyanggengcheng/article/details/77197294這里轉載的。
這補充了CSS中的部分內容。
掌握了前面的幾種方法,CSS定位基本沒有困難了。
平時多練習,其實CSS與jquery定位方法真的很相近,除了定位第幾個元素格式有大的區別,其他的幾種格式基本都差不多。