淺談Selenium+Webdriver 常用的元素定位方式
假設頁面源代碼如下:
<input type="text"name="wd" id="kw1" class="input_wd" maxlength="100"style="width:474px;"autocomplete="off">
通過id定位元素:find_element_by_id(“id_vaule”):
browser=webdriver.Firefox() browser.find_element_by_id("kw1")
通過name定位元素:find_element_by_name(“name_vaule”)
browser.find_element_by_name("wd")
通過tag_name定位元素:find_element_by_tag_name(“tag_name_vaule”)
browser.find_element_by_tag_name("input")#tag_name指標簽名稱
通過class_name定位元素:find_element_by_class_name(“class_name”)
browser.find_element_by_class_name("input_wd")
通過css定位元素:find_element_by_css_selector();用css定位是比較靈活的
browser.find_element_by_css_selector("input[id=\"kw1\"]") browser.find_element_by_css_selector("input.input_wd) browser.find_element_by_css_selector("#kw1)
通過xpath定位元素:find_element_by_xpath(“xpath”)
XPath(XML Path Language)是一種在XML文檔中定位元素的語言,由于HTML文檔本身就是一個標準的XML頁面,所以我們可以使用XPath的語法來定位頁面元素。
假設頁面源代碼如下:
注:元素的xpath絕對路徑可通過firebug直接查詢,絕對路徑以單/開頭,從文檔的根節(jié)點開始解析(如:/html/body/table/tbody/tr[2]/td[2]/div/div[1]/div/div[2]/div[4]/div[3]/div[1]/a[1]),相對路徑則以//開頭,從文檔的任意節(jié)點開始解析。
相對路徑的引用寫法:
表達式 | 描述 |
---|---|
//input | 選取所有input元素 |
//form[1]/input | 選取第一個form元素內的所有直接子input元素 |
//form[1]//input | 選取第一個form元素內的所有子input元素,不論嵌套了多少層 |
//form[1]/input[last()] | 選取第一個form元素內的所有直接子input元素中的最后一個 |
//form[@id='loginForm'] | 選取id屬性值為loginForm的form元素 |
//input[@name='continue'][@type='button'] | 選取name屬性值為continue且type屬性值為button的input元素 |
//form[@id^='loginForm']/input[4] | 選取id以loginForm開頭的form元素下第4個input元素 |
browser.find_element_by_xpath(“//td[contains(text(),'下單編號')]”) | 選取text文本為下單編號的td |
通過link定位:find_element_by_link_text(“text_vaule”)或者find_element_by_partial_link_text()
適用于頁面中出現(xiàn)的文字鏈接
browser.find_element_by_link_text("登錄").click() #點擊登錄鏈接 browser.find_element_by_partial_link_text("登").click()#只用了鏈接中的部分文字
參考資料:
[1]XPath教程
[2]Selenium Webdriver元素定位的八種常用方式
到此這篇關于淺談Selenium+Webdriver 常用的元素定位方式的文章就介紹到這了,更多相關Selenium Webdriver元素定位內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Keras 利用sklearn的ROC-AUC建立評價函數(shù)詳解
這篇文章主要介紹了Keras 利用sklearn的ROC-AUC建立評價函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06python深度學習tensorflow訓練好的模型進行圖像分類
這篇文章主要為大家介紹了python深度學習tensorflow訓練好的模型進行圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06python獲取外網IP并發(fā)郵件的實現(xiàn)方法
下面小編就為大家?guī)硪黄猵ython獲取外網IP并發(fā)郵件的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10使用python實現(xiàn)抓取中國銀行外匯牌價首頁數(shù)據(jù)實現(xiàn)
這篇文章主要為大家介紹了如何使用python實現(xiàn)抓取中國銀行外匯牌價首頁數(shù)據(jù)的實現(xiàn)示例,有需要的同學可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-10-10