国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

selenium腳本編寫及八大元素定位方法

這篇具有很好參考價(jià)值的文章主要介紹了selenium腳本編寫及八大元素定位方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

selenium腳本編寫

上篇文章介紹了selenium環(huán)境搭建,搭建好之后就可以開(kāi)始寫代碼了

基礎(chǔ)腳本,打開(kāi)一個(gè)網(wǎng)址
from selenium import webdriver
driver = webdriver.Chrome()#打開(kāi)chrome瀏覽器
driver.get('https://www.baidu.com') #打開(kāi)百度
打開(kāi)本地HTML文件

上篇文章我自己寫了一個(gè)html文件,放在了當(dāng)前路徑下

selenium腳本編寫及八大元素定位方法,軟件測(cè)試,自動(dòng)化測(cè)試,selenium,測(cè)試工具

  • 第一種方式

通過(guò)絕對(duì)路徑打開(kāi)

from selenium import webdriver
driver = webdriver.Chrome()#打開(kāi)chrome瀏覽器
driver.get(r'D:\sele_study\2-selenium\day1_sele\test.html')
  • 第二種方式

通過(guò)相對(duì)路徑打開(kāi)

本質(zhì)上也是通過(guò)方法把相對(duì)路徑轉(zhuǎn)為絕對(duì)路徑

#第一種轉(zhuǎn)為絕對(duì)路徑的方法
from selenium import webdriver
from pathlib import Path#pathlib:路徑處理庫(kù)
driver = webdriver.Chrome()#打開(kāi)chrome瀏覽器
html = Path('./test.html')
driver.get(str(html.resolve()))#Path.resolve:該方法將一些的 路徑/路徑段 解析為絕對(duì)路徑
 
#第二種轉(zhuǎn)為絕對(duì)路徑的方法
from selenium import webdriver
import os
html = os.path.abspath('./test.html')#返回絕對(duì)路徑
driver = webdriver.Chrome()
driver.get(html)
優(yōu)雅地打開(kāi)瀏覽器(with)

用with打開(kāi)瀏覽器,不用手工關(guān)閉

from selenium import webdriver
from time import sleep
with webdriver.Chrome() as driver:#with上下文管理器,不需要我去關(guān)閉
    driver.get('https://www.baidu.com')#打開(kāi)百度
    sleep(5)#等5秒,自動(dòng)關(guān)閉

認(rèn)識(shí)webdriver對(duì)象方法和屬性

初識(shí)元素定位方法

#祖宗方法 
find_element
#通過(guò)class屬性的值定位(底層是css)
find_element_by_class_name
#√√√通過(guò)css 選擇器定位(推薦,最快)
find_element_by_css_selector
#√通過(guò)id的值定位(底層是css)
find_element_by_id
#√通過(guò)a標(biāo)簽的文本定位(底層是XPATH)
find_element_by_link_text
#通過(guò)name屬性的值來(lái)定位(底層是css)
find_element_by_name  
#通過(guò)a標(biāo)簽的部分文本定位(模糊匹配)(底層是XPATH)
find_element_by_partial_link_text
#通過(guò)標(biāo)簽名來(lái)定位(底層是css)
find_element_by_tag_name
#√√通過(guò)xpath方法定位(慢)
find_element_by_xpath            
 
#以下方法的用法同上,只是返回的是一組元素(列表形式)
find_elements                        
find_elements_by_class_name          
find_elements_by_css_selector
find_elements_by_id
find_elements_by_link_text
find_elements_by_name
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_xpath

除了祖宗方法,其他八種定位方式被大家稱為‘selenium八大元素定位’

可以配合HTML全局屬性介紹來(lái)理解這些方法。

HTML全局屬性介紹:https://www.w3school.com.cn/tags/html_ref_standardattributes.asp

用法示例
以下方法演示用的是我們上篇文章寫的HTML文件

需要的朋友可以去上篇文章復(fù)制或公眾號(hào)后臺(tái)輸入‘html練習(xí)’獲取源文件

find_element_by_name
通過(guò)name屬性的值來(lái)定位

from selenium import webdriver
from pathlib import Path
from time import sleep
with webdriver.Chrome() as driver:#打開(kāi)chrome瀏覽器
    html = Path('./test.html')
    driver.get(str(html.resolve()))#Path.resolve:該方法將一些的 路徑/路徑段 解析為絕對(duì)路徑
    driver.find_element_by_name('username').send_keys('admin')
    #找到name的值為'username'的標(biāo)簽,并輸入'admin'
    sleep(5)#5秒后關(guān)閉

知識(shí)點(diǎn):

1.如果遇到重復(fù)的元素,操作的永遠(yuǎn)是第一個(gè)

2.send_keys方法,不會(huì)清空原來(lái)的內(nèi)容

  • find_element_by_id

通過(guò)id的值定位

from selenium import webdriver
import os
from time import sleep
with webdriver.Chrome() as driver:
    html = os.path.abspath('./test.html')#獲取絕對(duì)路徑
    driver.get(html)
    driver.find_element_by_id('username').send_keys('admin')
    #找到id的值為'username'的標(biāo)簽,并輸入'admin'
    sleep(5)

知識(shí)點(diǎn):

1.id是唯一的

2.可能會(huì)變,需要注意識(shí)別

3.首字符是數(shù)字的要注意css的表達(dá)式(后續(xù)詳細(xì)介紹)

  • find_element_by_class_name

通過(guò)class屬性的值定位

from selenium import webdriver
import os
from time import sleep
with webdriver.Chrome() as driver:
    html = os.path.abspath('./test.html')#獲取絕對(duì)路徑
    driver.get(html)
    # 1. 輸入用戶名
    driver.find_element_by_class_name('aa').send_keys('admin')
    #找到class的值為'aa'的標(biāo)簽,并輸入'admin'
    # 2. 輸入密碼
    # driver.find_element_by_class_name('bb cc').send_keys('123456')--錯(cuò)誤寫法
    driver.find_element_by_class_name('bb').send_keys('pass')
    #找到class的值為'bb'的標(biāo)簽,輸入'pass'
    driver.find_element_by_class_name('cc').send_keys('word')
    #找到class的值為'cc'的標(biāo)簽,輸入'word'
    sleep(5)

知識(shí)點(diǎn):

1.class也容易重復(fù)

2.class ='bb cc'規(guī)定元素的一個(gè)或多個(gè)類名,等同于class1,class2='bb','cc'

所以不能直接用driver.find_element_by_class_name('bb cc')

find_element_by_link_text
通過(guò)a標(biāo)簽的全文本定位,需要文本完全匹配

from selenium import webdriver
import os
from time import sleep
with webdriver.Chrome() as driver:
    html = os.path.abspath('./test.html')#獲取絕對(duì)路徑
    driver.get(html)
    driver.find_element_by_link_text('百度一下,你就不知道').click()
    #找到文本為'百度一下,你就不知道'文本的a標(biāo)簽,并點(diǎn)擊
    sleep(5)#等待5秒關(guān)閉
 
  • find_element_by_partial_link_text

通過(guò)a標(biāo)簽的部分文本定位(模糊匹配)

#方法二:模糊匹配
from selenium import webdriver
import os
from time import sleep
with webdriver.Chrome() as driver:
    html = os.path.abspath('./test.html')#獲取絕對(duì)路徑
    driver.get(html)
    driver.find_element_by_partial_link_text('必應(yīng)').click()
    #找到包含'必應(yīng)'文本的a標(biāo)簽,并點(diǎn)擊
    sleep(5)#等待5秒關(guān)閉
 

知識(shí)點(diǎn):

1.link_text 的兩種定位方式只適用于a標(biāo)簽的文本

2.link_text 完全匹配

3.parti_link_text 部分(模糊)可以是開(kāi)頭是、包含、結(jié)尾是

4.click()點(diǎn)擊

find_element_by_tag_name
通過(guò)標(biāo)簽名來(lái)定位,因?yàn)橹貜?fù)特別多,所以很少用,不做介紹。

find_element_by_css_selector
通過(guò)css 選擇器定位(推薦,最快)

內(nèi)容比較多且重要,之后單獨(dú)文章做介紹。

find_element_by_xpath
通過(guò)xpath方法定位

內(nèi)容比較多且重要,之后文章單獨(dú)介紹。

總結(jié):

感謝每一個(gè)認(rèn)真閱讀我文章的人!?。?/strong>

作為一位過(guò)來(lái)人也是希望大家少走一些彎路,如果你不想再體驗(yàn)一次學(xué)習(xí)時(shí)找不到資料,沒(méi)人解答問(wèn)題,堅(jiān)持幾天便放棄的感受的話,在這里我給大家分享一些自動(dòng)化測(cè)試的學(xué)習(xí)資源,希望能給你前進(jìn)的路上帶來(lái)幫助。

selenium腳本編寫及八大元素定位方法,軟件測(cè)試,自動(dòng)化測(cè)試,selenium,測(cè)試工具

文檔獲取方式:
 
加入我的軟件測(cè)試交流群:1007119548免費(fèi)獲取~(同行大佬一起學(xué)術(shù)交流,每晚都有大佬直播分享技術(shù)知識(shí)點(diǎn))

這份文檔,對(duì)于想從事【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!

以上均可以分享,只需要你搜索vx公眾號(hào):程序員雨果,即可免費(fèi)領(lǐng)取文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-794953.html

到了這里,關(guān)于selenium腳本編寫及八大元素定位方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【selenium模塊-WEB自動(dòng)化】八大網(wǎng)頁(yè)元素定位方法(三)

    【selenium模塊-WEB自動(dòng)化】八大網(wǎng)頁(yè)元素定位方法(三)

    一、id 定位 標(biāo)簽的 id 具有唯一性,就像人的身份證。 二、name 定位 name 指定標(biāo)簽的名稱,在頁(yè)面中可以不唯一。 三、class 定位 class 指定標(biāo)簽的類名,在頁(yè)面中可以不唯一。 四、tag 定位 每個(gè) tag 往往用來(lái)定義一類功能,所以通過(guò) tag 來(lái)識(shí)別某個(gè)元素的成功率很低,每個(gè)頁(yè)面

    2024年02月15日
    瀏覽(23)
  • Python+selenium自動(dòng)化八大元素定位方法及實(shí)例(超詳細(xì))

    Python+selenium自動(dòng)化八大元素定位方法及實(shí)例(超詳細(xì))

    目錄 一、selenium模塊中的find_element_by_id方法無(wú)法使用 二、Python+selenium自動(dòng)化八大元素定位方法 使用場(chǎng)景: 1、通過(guò)id屬性定位:driver.find_element(By.ID,\\\"value\\\") 2、通過(guò)name屬性定位:driver.find_element(By.NAME,\\\"value\\\") 3、通過(guò)class屬性定位:driver.find_element(By.CLASS_NAME,\\\"value\\\") 4、通過(guò)tag_name屬

    2024年02月19日
    瀏覽(26)
  • 軟件測(cè)試/測(cè)試開(kāi)發(fā)丨Selenium的常用元素定位方法

    軟件測(cè)試/測(cè)試開(kāi)發(fā)丨Selenium的常用元素定位方法

    Selenium是一個(gè)流行的開(kāi)源框架,目前在 Web 自動(dòng)化方面運(yùn)用最為廣泛的一個(gè)開(kāi)源、無(wú)瀏覽器要求、可支持多語(yǔ)言、設(shè)計(jì)測(cè)試用例非常靈活的自動(dòng)化測(cè)試框架。支持多種編程語(yǔ)言,并且能夠模擬用戶操作,例如點(diǎn)擊、輸入、提交等等。 在Selenium中,元素定位是一個(gè)非常重要的步驟

    2024年01月16日
    瀏覽(88)
  • Selenium(一):八大元素定位

    find_element() 中 類型為空,默認(rèn)為By.ID

    2024年04月23日
    瀏覽(96)
  • selenium的八大元素定位方式

    selenium的八大元素定位方式

    1、什么是元素定位 根據(jù)元素的 某個(gè)特征 在網(wǎng)頁(yè)中找到對(duì)應(yīng)的元素,定位元素的目的是為了操作元素,在Web自動(dòng)化中,定位元素是后續(xù)一切操作的前提條件。 2、元素的八大定位方式 2.1、id : 根據(jù)標(biāo)簽/元素的id屬性值定位 一般情況下元素的id是唯一的,所以通過(guò)這個(gè)方法可

    2024年03月14日
    瀏覽(18)
  • 2.Python中selenium八大元素定位

    2.Python中selenium八大元素定位

    目錄 如何進(jìn)行元素定位 瀏覽器開(kāi)發(fā)者工具介紹 一、id屬性定位 二、name定位 三、class_name定位 四、tag_name定位 五、link_text定位 六、partail_link_text定位 七、xpath定位 7.1 選取節(jié)點(diǎn) 7.2 謂語(yǔ) 7.3 軸 7.4 函數(shù) 7.5 邏輯運(yùn)算 八、css定位 8.1 css的定義 8.2 css定位策略 1.id選擇器 2.class選擇器

    2024年02月04日
    瀏覽(23)
  • 【web自動(dòng)化】selenium+python八大元素定位

    【web自動(dòng)化】selenium+python八大元素定位

    推薦:b站軟件測(cè)試?yán)习?注意點(diǎn) 1.有id才能能使用id定位 2.id不能重復(fù) 通過(guò)百度頁(yè)面,演示如何查找id確定id是否重復(fù),其他方式定位也可以這樣搜索 代碼如下(示例): 如果有多個(gè)class_name,可以使用 find_elements 和取下標(biāo)的方式 例如:打開(kāi)嗶哩嗶哩頁(yè)面,有番劇,電影等等,他

    2024年01月21日
    瀏覽(27)
  • 【selenium】八大元素定位方式|xpath css id name...

    【selenium】八大元素定位方式|xpath css id name...

    目錄 一、基礎(chǔ)元素定位 二、cssSelector元素定位——通過(guò)元素屬性定位 三、xpath元素定位——通過(guò)路徑? 1 、xpath絕對(duì)定位 (用的不多) 缺點(diǎn):一旦頁(yè)面結(jié)構(gòu)發(fā)生變化(比如重新設(shè)計(jì)時(shí),路徑少兩節(jié)),該路徑也隨之失效,必須重新寫 2、 xpath相對(duì)定位 2.1? 路徑解釋: 2.2? 定

    2024年02月22日
    瀏覽(46)
  • 【軟件測(cè)試】selenium中元素的定位

    【軟件測(cè)試】selenium中元素的定位

    不管用那種方式,必須保證頁(yè)面上該屬性的唯一性 CSS(Cascading Style Sheets) 是一種語(yǔ)言,它被用來(lái)描述 HTML 和 XML 文檔的表現(xiàn)。 CSS 使用選擇器來(lái)為頁(yè)面元素綁定屬性。這些選擇器可以被 selenium 用作另外的定位策略 CSS 的獲取可以用 chrome 的 F12 開(kāi)發(fā)者模式中 Element- 右鍵 -copy-cop

    2024年02月16日
    瀏覽(19)
  • 自動(dòng)化測(cè)試之八大元素定位方式(python3.10+selenium4)

    自動(dòng)化測(cè)試之八大元素定位方式(python3.10+selenium4)

    元素的定位是自動(dòng)化測(cè)試核心。要操作一個(gè)對(duì)象,首先要識(shí)別定位或找到這個(gè)對(duì)象。為了實(shí)現(xiàn)網(wǎng)頁(yè)整體布局,我們先要知道,一個(gè)元素,是如何定位到頁(yè)面上的某個(gè)位置的,這就是元素定位。 系統(tǒng)環(huán)境 Windows 11 ?? python3.10.5 ?? selenium 4.8.0 ?? 注意:以下每種定位方式均有一

    2024年02月03日
    瀏覽(87)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包