成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python2+Selenium入門03-元素定位

Hydrogen / 1971人閱讀

當(dāng)我們想讓 Selenium 自動地操作瀏覽器時(shí),就必須告訴 Selenium 如何去定位某個(gè)元素或一組元素,每個(gè)元素都有著不同的標(biāo)簽名和屬性值,Selenium 提供了以下8種定位元素的方式,每種方式對應(yīng)了2個(gè)方法:
find_element_by_( ),是用來定位單個(gè)元素的,find_elements_by_( ),是用來定位多個(gè)元素的。

通過 id 定位

通過 name 定位

通過 class 定位

通過 tag 定位

通過 link 定位

通過 partial link 定位

通過 xpath 定位

通過 css 選擇器定位

下面以百度首頁為例進(jìn)行舉例說明:

1.通過 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.通過通過 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.通過 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名稱為“s_ipt”的元素
input_text = driver.find_element_by_class_name("s_ipt")
input_text.send_keys("selenium")

driver.quit()
4.通過 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.通過 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.通過 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.通過 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定位,相對路徑與屬性結(jié)合定位搜索框
news = driver.find_element_by_xpath("http://input[@id="kw"]")
news.click()

driver.quit()
8.通過 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()

這里只是簡單介紹了8種元素定位方式的使用,比較簡單易用的是通過id、name、class定位,我個(gè)人比較喜歡的是用xpath定位,當(dāng)然,最靈活也是最強(qiáng)大的定位方式就是css,它也是比較難掌握的一種方式。關(guān)于xpath和css定位方式的詳細(xì)介紹,可以參考
selenium 元素定位。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/43257.html

相關(guān)文章

  • Python2+Selenium入門02-第一個(gè)Selenium Python腳本

    摘要:注意如果上述腳本無法正常啟動瀏覽器,需要先檢查與瀏覽器的版本是否一致然后再檢查瀏覽器對應(yīng)的文件是否放在的安裝目錄下,如系統(tǒng)的默認(rèn)安裝路徑,,如果沒有請將該文件放在此目錄下,然后再次運(yùn)行腳本。 第一個(gè)自動化測試腳本 腳本如下所示: # _*_ coding:utf-8 _*_ from selenium import webdriver from selenium.webdriver....

    raise_yang 評論0 收藏0
  • Python2+Selenium入門05-關(guān)于WebElement類

    摘要:前面一節(jié)主要介紹了類,這一節(jié)則主要介紹類。提供了一些功能屬性和方法來實(shí)現(xiàn)與網(wǎng)頁元素的交互,這些元素主要包括文本框文本域按鈕單選框多選框表格等等。 前面一節(jié)主要介紹了 WebDriver 類,這一節(jié)則主要介紹 WebElement 類。WebElement 提供了一些功能、屬性和方法來實(shí)現(xiàn)與網(wǎng)頁元素的交互,這些元素主要包括文本框、文本域、按鈕、單選框、多選框、表格等等。 WebEleme...

    Freeman 評論0 收藏0
  • Python2+Selenium入門04-關(guān)于WebDriver類

    摘要:和是中兩個(gè)非常重要的類,使用它們提供的方法可以實(shí)現(xiàn)與瀏覽器和頁面元素的各種交互操作。該方法在每個(gè)只需要調(diào)用一次等待時(shí)間單位為秒設(shè)置一個(gè)頁面完全加載完成的超時(shí)等待時(shí)間等待時(shí)間單位為秒設(shè)置腳本執(zhí)行的超時(shí)時(shí)間,應(yīng)該在拋出錯誤之前等待時(shí)間單位為秒 WebDriver 和 WebElement 是 Selenium 中兩個(gè)非常重要的類,使用它們提供的方法可以實(shí)現(xiàn)與瀏覽器和頁面元素的各種交互操作。...

    vslam 評論0 收藏0
  • #yyds干貨盤點(diǎn)# Selenium Web端自動化從入門到實(shí)踐

    摘要:華文宋體驗(yàn)證搜索結(jié)果頁面的標(biāo)題是否是自動化測試百度搜索。華文宋體移除了華文宋體版本的華文宋體也就是說,華文宋體不再得到官方的支持。一、自動化測試概念1、概念java:TestNgpython:unittest pytest2、自動化測試可行性測試目的明確,需求不會頻繁的變更對于項(xiàng)目的自動化測試,要看項(xiàng)目的具體情況一個(gè)產(chǎn)品需要在多個(gè)環(huán)境下部署對于web GUI測試,需要測試用例在不同的瀏覽器上...

    番茄西紅柿 評論0 收藏2637
  • Python2+Selenium入門01-環(huán)境準(zhǔn)備

    摘要:最近一直在學(xué)習(xí)自動化測試相關(guān)的內(nèi)容,于是決定將整個(gè)學(xué)習(xí)過程記錄在這里,一方面可以作為筆記方便自己以后隨時(shí)隨地地查看,另一方面也希望分享出來能夠和大家一起學(xué)習(xí)討論進(jìn)步。 最近一直在學(xué)習(xí)UI自動化測試相關(guān)的內(nèi)容,于是決定將整個(gè)學(xué)習(xí)過程記錄在這里,一方面可以作為筆記方便自己以后隨時(shí)隨地地查看,另一方面也希望分享出來能夠和大家一起學(xué)習(xí)討論進(jìn)步。 需要準(zhǔn)備的環(huán)境 Python 2 Seleni...

    wenshi11019 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<