成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

Python2+Selenium入門(mén)03-元素定位

Hydrogen / 2018人閱讀

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

通過(guò) id 定位

通過(guò) name 定位

通過(guò) class 定位

通過(guò) tag 定位

通過(guò) link 定位

通過(guò) partial link 定位

通過(guò) xpath 定位

通過(guò) css 選擇器定位

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

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()

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/43257.html

相關(guān)文章

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

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

    raise_yang 評(píng)論0 收藏0
  • Python2+Selenium入門(mén)05-關(guān)于WebElement類(lèi)

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

    Freeman 評(píng)論0 收藏0
  • Python2+Selenium入門(mén)04-關(guān)于WebDriver類(lèi)

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

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

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

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

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

    wenshi11019 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<