Python+webdriver定位元素的幾種方法
??
一、selenium定位元素的幾種方法
selenium2.0=selenium1.0+webdriver
selenium定位元素的幾種方法:WebDriver,selenium IDE,selenium Grid

Selenium IDE:一個Firefox插件,可以錄制用戶的基本操作,生成測試用例。隨后可以運(yùn)行這些測試用例在瀏覽器里回放,可將測試用例轉(zhuǎn)換為其他語言的自動化腳本。
Selenium Remote Control (RC) :支持多種平臺(Windows,Linux,Solaris)和多種瀏覽器(IE,F(xiàn)irefox,Opera,Safari),可以用多種語言(Java,Ruby,Python,Perl,PHP,C#)編寫測試用例。
Selenium Grid :允許Selenium-RC 針對規(guī)模龐大的測試案例集或者需要在不同環(huán)境中運(yùn)行的測試案例集進(jìn)行擴(kuò)展。
二、webdriver+python定位元素的幾種方法
1.通過id定位 find_element_by_id()
2.通過name定位 find_element_by_name()
3.通過class name定位 find_element_by_class_name()
4.通過tag name定位 find_element_by_tag_name()
5.通過link定位 find_element_by_link_text()
6.通過partical link定位 find_element_by_partical_link_text()
7.通過xpath定位 find_element_by_xpath()
8.通過css定位 find_element_by_css_selector()
注:
1.patical link即部分文本,定位時只需要輸入部分文本,如超鏈接文本為"去付款吧",使用link定位及find_element_by_link_text('去付款吧'),使用partical link定位find_element_by_partical_link_text('付款')
2.tag name 相同的概率很高
3.xpath定位分為絕對路徑和相對路徑,絕對路徑以'/'開頭,相對路徑以'//'開頭
4.css定位中,id用'#',class用'.',如定位
- 使用find_element_by_css_selector('#recordlist')
5.id/name/class/link/xpath是webdriver中最常用的定位方法
三、CSS選擇器


定位
find_element_by_css_selector(‘from’)定位
find_element_by_css_selector(‘.subdiv’)find_element_by_css_selector(‘from+div’)
定位
find_element_by_css_selector(‘#recordlist’)find_element_by_css_selector(‘ul#recordlist’)find_element_by_css_selector(‘div>ul’)
定位
Heading
find_element_by_css_selector(‘div>ul’)find_element_by_css_selector(‘div.subdiv?>?ul?>?p’)
四、HTML DOM Document 對象方法
document.getElementById( )document.getElementsByName( )document.getElementsByClassName( )document.getElementsByTagName( )
注釋:傳遞給 getElementsByTagName() 方法的字符串可以不區(qū)分大小寫
document.querySelector( )document.querySelectorAll( )
往期推薦
