本文實例講述了Selenium定位元素操作。分享給大家供大家參考,具體如下:
Selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統之上。測試系統功能——創建回歸測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成 .Net、Java、Perl等不同語言的測試腳本。
在前面一篇《Selenium基本用法》中簡單記錄了Selenium的使用,接下來記錄一下元素的定位,Selenium提供了多種策略來定位頁面中的元素,Selenium提供了以下方法來定位頁面中元素,你可以根據自己的喜好來進行選擇:
find_element_by_id:通過ID進行匹配查找,只返回匹配到的一個元素 find_element_by_name:通過name進行匹配查找,只返回匹配到的一個元素 find_element_by_xpath:通過xpath進行匹配查找,只返回匹配到的一個元素 find_element_by_link_text:通過鏈接內容進行匹配查找,只返回匹配到的一個元素 find_element_by_partical_link_text:通過部分鏈接內容進行匹配查找,只返回匹配到的一個元素 find_element_by_tag_name:通過標簽名稱進行匹配查找,只返回匹配到的一個元素 find_element_by_class_name:通過class名稱進行匹配查找,只返回匹配到的一個元素 find_element_by_css_selector:通過CSS選擇器進行匹配查找,只返回匹配到的一個元素值得注意的是,上面方法只會匹配查找只會獲取第一個元素。除了上面這些查找單個元素的方法之外,Selenium還定義查找多個元素的方法:
find_elements_by_name:通過name進行匹配查找,返回所有匹配到的元素列表 find_elements_by_xpath:通過xpath進行匹配查找,返回所有匹配到的元素列表 find_elements_by_link_text:通過鏈接內容進行匹配查找,返回所有匹配到的元素列表 find_elements_by_partical_link_text:通過部分鏈接內容進行匹配查找,返回所有匹配到的元素列表 find_elements_by_tag_name:通過標簽名稱進行匹配查找,返回所有匹配到的元素列表 find_elements_by_class_name:通過class名稱進行匹配查找,返回所有匹配到的元素列表 find_elements_by_css_selector:通過CSS選擇器進行匹配查找,返回所有匹配到的元素列表除了上面給出的公有方法之外,Selenium還提供了兩種私有方法可能對頁面對象中的定位器有用,這兩個私有方法是:find_element
和find_elements
:
from selenium.webdriver.common.by import Byelement = driver.find_element(By.XPATH,'//*[@id="su"]')elements = driver.find_elements(By.XPATH,'//button')
新聞熱點
疑難解答