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

【UI自動化】selenium元素定位各種框?qū)嵗僮鞔笕?/h1>

這篇具有很好參考價值的文章主要介紹了【UI自動化】selenium元素定位各種框?qū)嵗僮鞔笕?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

<Text>:元素是input標(biāo)簽但是不能輸入內(nèi)容

第五個input輸入框,disabled屬性被設(shè)置為 "true"。它被禁用了無法接收用戶的輸入。
第六個input輸入框,readonly屬性指示該元素是否只讀,如果設(shè)置了該屬性,表示該元素只讀不可編輯。因此,當(dāng)readonly屬性存在時,該輸入框是不可編輯的,不能輸入內(nèi)容。

?實例圖示如下:

selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

這里我們可以使用使用execute_script方法來執(zhí)行JavaScript腳本,從而移除元素的disabledreadonly屬性,然后輸入內(nèi)容。具體代碼如下:

# 使用execute_script處理元素的disabled和readonly屬性
d.execute_script("arguments[0].removeAttribute('disabled')", d.find_element(By.NAME, "textdisabled"))
d.execute_script("arguments[0].removeAttribute('readonly')", d.find_element(By.NAME, "textreadonly"))
d.find_element(By.NAME, "textdisabled").send_keys("第五個輸入內(nèi)容")
d.find_element(By.NAME, "textreadonly").send_keys("第六個輸入內(nèi)容")

這樣就解決了元素是input標(biāo)簽但是不能輸入的問題了。

<textarea>:輸入框在form表單下處于同一級別,右邊紅框兩個textarea標(biāo)簽對應(yīng)左邊綠框兩個多行輸入框。由于第二個多行輸入框只有textarea標(biāo)簽可以定位,與第一個不好區(qū)分,這里就只能采用XPATH方法了。

selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

具體代碼如下:

d.find_element(By.NAME,'ta1').send_keys('多行輸入框內(nèi)容1')
d.find_element(By.XPATH,'//form[@name="f1"]/textarea[2]').send_keys('多行輸入框內(nèi)容2')

Checkbox : 復(fù)選框定位selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

根據(jù)右側(cè)HTML發(fā)現(xiàn)第四個復(fù)選框其實value沒有賦值,所以只能只用XPATH定位。具體代碼如下:

d.find_element(By.CSS_SELECTOR,'input[value="cv1"]').click()
d.find_element(By.CSS_SELECTOR,'input[value="cv2"]').click()
d.find_element(By.CSS_SELECTOR,'input[value="cv3"]').click()
d.find_element(By.XPATH,'//form/input[4]').click()

Radio :單選框定位

selenium 定位輸入框,軟件測試,自動化,python,ui,selenium這里兩個單選框都有name屬性,但對應(yīng)的值是一樣的,所以這里我們采用CSS_SELECTOR方法進(jìn)行定位,代碼如下:

d.find_element(By.CSS_SELECTOR,'input[value="rv1"]').click()
d.find_element(By.CSS_SELECTOR,'input[value="rv2"]').click()

以下是后面會更新的內(nèi)容,今天就到此為止了。后續(xù)有時間再持續(xù)更新~

Password:密碼框

經(jīng)觀察發(fā)現(xiàn)這兩個密碼框已經(jīng)不在初始化界面之內(nèi)了,需要拖動瀏覽器右側(cè)邊的滑動條才能顯示出來,否則將會找不到元素。selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

第一個密碼框很好定位,可以直接用NAME方法來定位,但是第二個沒有唯一的屬性,只能使用XPATH了。注意這里的標(biāo)簽的索引位置是從1開始數(shù)。如圖:selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

#第一個密碼框,輸入內(nèi)容:1
driver.find_element(By.NAME,'p1').send_keys('1')
# 定位到密碼框的第二個元素
pwdinput= driver.find_element(By.XPATH, '//form[@name="f1"]/input[8]')
# 使用JavaScript代碼將元素滾動到可視區(qū)域
driver.execute_script("arguments[0].scrollIntoView();", pwdinput)
# 輸入內(nèi)容:12
pwdinput.send_keys('12')

這里需分成三步執(zhí)行,開始我寫成一句直接報錯。代碼如下:

driver.execute_script("arguments[0].scrollIntoView();", driver.find_element(By.XPATH, '//form[@name="f1"]/input[8]').send_keys('12'))

#報錯:selenium.common.exceptions.JavascriptException: Message: A JavaScript exception occured: null is not an object (evaluating 'arguments[0].scrollIntoView')

代碼中依然遇到了JavaScript異常,錯誤信息表明arguments[0]的值為null,導(dǎo)致無法調(diào)用scrollIntoView方法。所以拆分成三步,1.首先定位元素,2.然后將其滾動到可視區(qū)域,3.最后再執(zhí)行send_keys操作。并且還需要注意,send_keys操作應(yīng)該在輸入框元素成功滾動到可視區(qū)域之后進(jìn)行。

Select:選擇框selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

首先,我們導(dǎo)入Select模塊。

from selenium.webdriver.support.ui import Select, WebDriverWait

?根據(jù)圖示,要先拖動滑動條才能顯示該元素,然后再進(jìn)行操作選擇框。?代碼如下:

#定位該元素
find_slt = driver.find_element(By.XPATH, '//form[@name="f1"]/select[1]')
#使用JavaScript代碼將元素滾動到可視區(qū)域
driver.execute_script("arguments[0].scrollIntoView();", find_slt)
# 使用Select方法
Select(driver.find_element(By.XPATH,'//form[@name="f1"]/select[2]')).select_by_index(2)
Select(driver.find_element(By.XPATH,'//form[@name="f1"]/select[3]')).select_by_index(2)

Select類中相關(guān)方法具體詳見:?Select類中相關(guān)方法

Button:按鈕selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

操作代碼如下:?

b=driver.find_element(By.CSS_SELECTOR,'[value="button value"]')
#由于這里的按鈕只有點(diǎn)擊效果,沒有直觀的反饋。增加了判斷。
if b.is_enabled():
b.click()
    print("Button clicked!")
else:
    print("Button is not enabled")

Reset Button:重置按鈕selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

find_rbutton=driver.find_element(By.XPATH,'//form[@name="f1"]/input[13]')
# 使用JavaScript代碼將元素滾動到可視區(qū)域
driver.execute_script("arguments[0].scrollIntoView();", find_rbutton)
#先填入內(nèi)容在輸入框內(nèi)
find_rbutton.send_keys('XPP 是攝影獅??')
#定義一個變量來獲取輸入的內(nèi)容,便于后面判斷。
gettext=find_rbutton.get_attribute('value')
#點(diǎn)擊重置
driver.find_element(By.CSS_SELECTOR,'[value="Reset Me"]').click()
#判斷內(nèi)容是否被清空
reset_text = find_rbutton.get_attribute('value')
if gettext == reset_text:
    print("輸入內(nèi)容已被已清空")
else:
    print('輸入內(nèi)容未被清空')

按鈕雙擊?

selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

需要先導(dǎo)入ActionChains模塊

from selenium.webdriver import ActionChains
#拖動滑動條到可以顯示該元素為止
find_botton1=driver.find_element(By.XPATH,'//button[text()="Button Two"]')
driver.execute_script("arguments[0].scrollIntoView();",find_botton1)
#雙擊
ActionChains(driver).double_click(find_botton1).perform()

Submit:提交按鈕selenium 定位輸入框,軟件測試,自動化,python,ui,selenium

#找到該元素
find_submit=driver.find_element(By.CSS_SELECTOR,'[value="Add"]')
driver.execute_script("arguments[0].scrollIntoView();",find_submit)
#點(diǎn)擊提交按鈕
find_submit.click()
#這時候出現(xiàn)alert彈框,添加一個顯示等待
WebDriverWait(driver, 10).until(EC.alert_is_present())
#切換到彈框
submit_alert=driver.switch_to.alert
#關(guān)閉彈框
submit_alert.accept()

Image:(待招商)

Search:待招商)文章來源地址http://www.zghlxwxcb.cn/news/detail-802415.html

到了這里,關(guān)于【UI自動化】selenium元素定位各種框?qū)嵗僮鞔笕奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Python+selenium自動化元素定位防踩坑

    Python+selenium自動化元素定位防踩坑

    在自動化UI測試過程中常常會在元素定位階段就踩坑,碰到困擾已久的問題。 以下是個人整理元素定位報錯原因和解決方法。 踩坑一:StaleElementReferenceException selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document 異常原因:

    2024年02月06日
    瀏覽(21)
  • Selenium自動化實現(xiàn)高亮顯示定位到的元素

    Selenium自動化實現(xiàn)高亮顯示定位到的元素

    在調(diào)試Selenium腳本中,有時因為操作太快或操作不明顯而不清楚是否定位到了正確的元素。我們可用通過執(zhí)行js為定位到的元素添加樣式,來高亮顯示定位到的元素。 在Selenim Webdriver中,可以通過driver.exectue_scirpt() 執(zhí)行JavaScript代碼,執(zhí)行的JavaScript代碼是支持傳入?yún)?shù)的,甚至

    2024年02月20日
    瀏覽(25)
  • Web自動化 —— Selenium元素定位與防踩坑

    Web自動化 —— Selenium元素定位與防踩坑

    2. 基本元素定位二 3. CSS選擇器定位法一 4. CSS選擇器定位法二 瀏覽器完整的打開-關(guān)閉調(diào)用流程 5. xpath定位法 1、相對路徑定位 //標(biāo)簽名[@屬性名=\\\"屬性值\\\"] 2、定位某個元素的父級元素 元素xpath/parent::\\\"父級元素標(biāo)簽名\\\" //*[@id=\\\"list\\\"]/dl/a/parent::dl 3、定位一組元素的第幾個 xpath[數(shù)字

    2024年02月09日
    瀏覽(32)
  • 【selenium自動化測試】如何定位頁面元素,及對頁面元素的操作方法

    【selenium自動化測試】如何定位頁面元素,及對頁面元素的操作方法

    selenium元素定位 ?selenium定位元素的方式有8種。 fild_element(by,value):by表示使用的定位方式,定位方式可以參見By類。value表示值,例如:根據(jù)id定位 By.ID,value=id屬性的值。該方法返回元素對象,返回值如下: 這個返回結(jié)果說明:返回值為WebElement類的對象,元素在使用方法時

    2024年02月10日
    瀏覽(28)
  • python ui自動化測試元素定位常用語法

    第一部分是css樣式定位方法 選擇器 示例 示例說明 CSS . class .intro 選擇所有class=\\\"intro\\\"的元素 1 # id #firstname 選擇所有id=\\\"firstname\\\"的元素 1 * * 選擇所有元素 2 element p 選擇所有p元素 1 element,element div,p 選擇所有div元素和p元素 1 element ? element div p 選擇div元素內(nèi)的所有p元素 1 element

    2024年02月13日
    瀏覽(33)
  • 【selenium模塊-WEB自動化】八大網(wǎng)頁元素定位方法(三)

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

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

    2024年02月15日
    瀏覽(23)
  • 自動化測試學(xué)習(xí)(六)-selenium定位元素之CSS選擇器詳細(xì)用法

    自動化測試學(xué)習(xí)(六)-selenium定位元素之CSS選擇器詳細(xì)用法

    目錄 1.通過class屬性定位 2.通過id屬性定位 3.通過標(biāo)簽名定位 4.其他方法定位 ? ?CSS是一種語言,它可以比較靈活的選擇控件的任意屬性,一般情況下比Xpath快,下面我們詳細(xì)介紹CSS的用法。CSS常見語法如下表所示:? 選擇器 示例 描述 .class .s_ipt 選擇class=\\\"s_ipt\\\"的所有元素 #i

    2024年01月17日
    瀏覽(23)
  • Selenium元素定位全攻略,讓你輕松玩轉(zhuǎn)自動化測試!

    Selenium元素定位全攻略,讓你輕松玩轉(zhuǎn)自動化測試!

    一、什么是元素定位 元素定位就是查找HTML元素的過程,操作頁面元素之前,首先要對元素進(jìn)行定位,所以定位是自動化腳本編寫的開始。 通常使用find_element或find_elements方法來定位元素(find_element?使用給定的方法定位和查找一個元素;find_elements?使用給定的方法定位和查找所

    2024年02月04日
    瀏覽(29)
  • python+selenium的web自動化測試之8種元素定位方式詳解

    python+selenium的web自動化測試之8種元素定位方式詳解

    目錄 前言 單一屬性定位 通過元素的id 通過元素的name 通過元素的class 通過元素的標(biāo)簽名 通過元素的超鏈接文本 通過元素的部分超鏈接文本 XPTH定位 CSS定位 輔助定位工具 ? 我們在做WEB自動化時,最根本的就是操作頁面上的各種元素,而操作的基礎(chǔ)便是元素的定位,只有準(zhǔn)確

    2023年04月16日
    瀏覽(100)
  • 自動化測試之八大元素定位方式(python3.10+selenium4)

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

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

    2024年02月03日
    瀏覽(87)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包