本篇文章為大家展示了怎么在Python2中使用Selenium定位元素,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
十余年專(zhuān)注建站、設(shè)計(jì)、互聯(lián)網(wǎng)產(chǎn)品按需設(shè)計(jì)網(wǎng)站服務(wù),業(yè)務(wù)涵蓋品牌網(wǎng)站設(shè)計(jì)、商城網(wǎng)站建設(shè)、小程序制作、軟件系統(tǒng)開(kāi)發(fā)、app軟件開(kāi)發(fā)公司等。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解每個(gè)客戶(hù)的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶(hù)設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù),以推動(dòng)各中小企業(yè)全面信息數(shù)字化,并利用創(chuàng)新技術(shù)幫助各行業(yè)提升企業(yè)形象和運(yùn)營(yíng)效率。Python主要用來(lái)做什么Python主要應(yīng)用于:1、Web開(kāi)發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲(chóng);4、嵌入式應(yīng)用開(kāi)發(fā);5、游戲開(kāi)發(fā);6、桌面應(yīng)用開(kāi)發(fā)。
1.通過(guò) id 定位
find_element_by_id(id)
find_elements_by_id(id)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # 定位id為“kw”的元素 input_text = driver.find_element_by_id("kw") input_text.send_keys("selenium") driver.quit()
2.通過(guò)通過(guò) name 定位
find_element_by_name(name)
find_elements_by_name(name)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # 定位name為“wd”的元素 input_text = driver.find_element_by_name("wd") input_text.send_keys("selenium") driver.quit()
3.通過(guò) class 定位
find_element_by_class_name(name)
find_elements_by_class_name(name)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # 定位class名稱(chēng)為“s_ipt”的元素 input_text = driver.find_element_by_class_name("s_ipt") input_text.send_keys("selenium") driver.quit()
4.通過(guò) tag 定位
find_element_by_tag_name(name)
find_elements_by_tag_name(name)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # 定位標(biāo)簽為的元素 input_text = driver.find_elements_by_tag_name("input") print(len(input_text)) driver.quit()
5.通過(guò) link 定位
find_element_by_link_text(link_text)
find_elements_by_link_text(link_text)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # 定位鏈接文本完全匹配“我新聞”的元素 news = driver.find_element_by_link_text("新聞") news.click() driver.quit()
6.通過(guò) partial link 定位
find_element_by_partial_link_text(link_text)
find_elements_by_partial_link_text(link_text)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # 定位鏈接文本部分匹配“新”的元素 news = driver.find_element_by_partial_link_text("新") news.click() driver.quit()
7.通過(guò) xpath 定位
find_element_by_xpath(xpath)
find_elements_by_xpath(xpath)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # xpath定位,相對(duì)路徑與屬性結(jié)合定位搜索框 news = driver.find_element_by_xpath("http://input[@id='kw']") news.click() driver.quit()
8.通過(guò) css 選擇器定位
find_element_by_css_selector(css_selector)
find_elements_by_css_selector(css_selector)
# _*_ coding:utf-8 _*_ from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com/") # css選擇器,id定位密碼輸入框 news = driver.find_element_by_css_selector('#kw') news.click() driver.quit()
通用的終極定位語(yǔ)法
上面的所有元素定位 find_element_by_xxx和find_elements_by_xxx調(diào)用的結(jié)果,實(shí)際上都是在調(diào)用以下兩種方法,我們也可以直接調(diào)用一下兩種方法即可。
find_element(self, by=By.ID, value=None):
find_elements(self, by=By.ID, value=None):
class By(object): """ Set of supported locator strategies. """ ID = "id" XPATH = "xpath" LINK_TEXT = "link text" PARTIAL_LINK_TEXT = "partial link text" NAME = "name" TAG_NAME = "tag name" CLASS_NAME = "class name" CSS_SELECTOR = "css selector"
例如:
from selenium.webdriver.common.by import By # 根據(jù)id,定位id為“world”的元素 world = driver.find_element(By.ID,"world") print(world.text) # xpath定位,相對(duì)路徑與屬性結(jié)合 定位密碼輸入框 password = driver.find_element(By.XPATH,"http://input[@name='password']") print(password.get_attribute("value")) # css選擇器,標(biāo)簽+屬性 定位用戶(hù)名輸入框 username = driver.find_element(By.CSS_SELECTOR,"input[name='username']") print(username.get_attribute("value"))
上述內(nèi)容就是怎么在Python2中使用Selenium定位元素,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。