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

【Selenium】UI自動(dòng)化|元素定位常見(jiàn)問(wèn)題

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

1、報(bào)錯(cuò)NoSuchElementException——定位不到元素

分析的可能原因:

  1. 頁(yè)面還沒(méi)有加載出來(lái),就對(duì)頁(yè)面上的元素進(jìn)行的操作

  2. 元素在iframe中,先要理解下frame的實(shí)質(zhì),frame中實(shí)際上是嵌入了另一個(gè)頁(yè)面,而webdriver每次只能在一個(gè)頁(yè)面識(shí)別,因此需要先定位到相應(yīng)的frame,對(duì)那個(gè)頁(yè)面里的元素進(jìn)行定位。

  3. 元素在新的窗口中,未切換句柄等原因

  4. 動(dòng)態(tài)id定位不到元素

    解決方案:如果發(fā)現(xiàn)是動(dòng)態(tài)id,直接用xpath定位或其他方式定位。【Selenium】UI自動(dòng)化|元素定位常見(jiàn)問(wèn)題,UI自動(dòng)化測(cè)試,selenium,web測(cè)試,selenium,測(cè)試工具
  5. 二次定位,如彈出框登錄

  6. 不可見(jiàn)元素定位——比如:type=hidden,display=none的元素?zé)o法定位

  7. 元素定位方式寫(xiě)錯(cuò)

注意??

當(dāng)提示NoSuchElementException,可以去驅(qū)動(dòng)打開(kāi)的窗口查找一下,因?yàn)橛械脑赜抿?qū)動(dòng)打開(kāi)和用瀏覽器直接打開(kāi)是不一樣的

2、?findElements與findElement

findElements找出所有元素,返回list集合;

findElement從上往下找出第一個(gè)

3、判斷頁(yè)面是否存在某元素

?Selenium沒(méi)有直接提供判斷是否存在的方法

1、可以使用findElements返回的數(shù)量判斷;或者判斷findElement是否拋出異常

2、元素的幾個(gè)方法:

  • isDisplayed()

    • 本身這個(gè)函數(shù)用于判斷某個(gè)元素是否存在頁(yè)面上

    • 這里的存在不是肉眼看到的存在,而是html代碼的存在。某些情況元素的visibility為hidden或者display屬性為none,我們?cè)陧?yè)面看不到但是實(shí)際是存在頁(yè)面的一些元素

  • isEnable

    • 用來(lái)判斷界面元素是否是可用的,返回值為boolean值。

    • 用于存儲(chǔ)input、select等元素的可編輯狀態(tài),可以編輯 返回true,否則 返回false

    • 如果該值為 true,則該元素在網(wǎng)頁(yè)中啟用,如果該元素在網(wǎng)頁(yè)中未啟用,則返回 false。

    • 常見(jiàn)場(chǎng)景例如:列表不勾選數(shù)據(jù)時(shí),刪除按鈕置灰,不可點(diǎn)擊,只有列表勾選后,才可點(diǎn)擊刪除按鈕。

  • isSelected()

    • 這個(gè)是判斷某個(gè)元素是否被選中

4、元素是否可見(jiàn)和元素是否可點(diǎn)擊是不一樣的??

可點(diǎn)擊一定可見(jiàn)

可見(jiàn)不一定可點(diǎn)擊(比如有可能被彈窗蓋住了...)

不可見(jiàn)一定不可點(diǎn)擊

存在不一定可見(jiàn),可見(jiàn)一定存在

5、display:none 和 visibility:hidden 和 type ="hidden"

  • visibility: hidden----將元素隱藏,但是在網(wǎng)頁(yè)中該占的位置還是占著。
    • 例如有三個(gè)table,將中間的一個(gè)table hidden掉,你會(huì)發(fā)現(xiàn)在那個(gè)被hidden的table看不見(jiàn)了,但是,中間會(huì)留有很大的一空白,而這個(gè)空白就是這個(gè)table沒(méi)有被隱藏時(shí)所占的位置;

  • display: none----將元素的顯示設(shè)為無(wú),即在網(wǎng)頁(yè)中不占任何的位置。
    • 例如有三個(gè)table,將中間的一個(gè)table none掉,你會(huì)發(fā)現(xiàn)在剩下的兩個(gè)table中間不會(huì)有任何的空白。就好像中間的那個(gè)table從來(lái)不存在過(guò)一樣。

    • 而none的作用更像是把元素從網(wǎng)頁(yè)中“去除”(當(dāng)然不是真的去除,只是效果是如此)

  • type ="hidden"和上面兩個(gè)不一樣,它叫做隱藏域,作為input 的一種輸入類(lèi)型,它的特點(diǎn)就是“看不見(jiàn)”;
    • 存在即合理,那我們來(lái)看看他的作用:在表單插入中隱藏域的目的在于收集和發(fā)送信息,以利于被處理表單的程序所使用

    • 注:隱藏只是在網(wǎng)頁(yè)頁(yè)面上不顯示輸入框,但是雖然隱藏了,還是具有form傳值功能。一般用來(lái)傳值,而不必讓用戶(hù)看到。

    • 它可以隱藏有用但又不能讓瀏覽者看到的信息。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-846767.html

到了這里,關(guān)于【Selenium】UI自動(dòng)化|元素定位常見(jiàn)問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(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自動(dòng)化實(shí)現(xiàn)高亮顯示定位到的元素

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

    在調(diào)試Selenium腳本中,有時(shí)因?yàn)椴僮魈旎虿僮鞑幻黠@而不清楚是否定位到了正確的元素。我們可用通過(guò)執(zhí)行js為定位到的元素添加樣式,來(lái)高亮顯示定位到的元素。 在Selenim Webdriver中,可以通過(guò)driver.exectue_scirpt() 執(zhí)行JavaScript代碼,執(zhí)行的JavaScript代碼是支持傳入?yún)?shù)的,甚至

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

    Web自動(dòng)化 —— Selenium元素定位與防踩坑

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

    2024年02月09日
    瀏覽(31)
  • 【selenium自動(dòng)化測(cè)試】如何定位頁(yè)面元素,及對(duì)頁(yè)面元素的操作方法

    【selenium自動(dòng)化測(cè)試】如何定位頁(yè)面元素,及對(duì)頁(yè)面元素的操作方法

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

    2024年02月10日
    瀏覽(28)
  • python ui自動(dòng)化測(cè)試元素定位常用語(yǔ)法

    第一部分是css樣式定位方法 選擇器 示例 示例說(shuō)明 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自動(dòng)化】八大網(wǎng)頁(yè)元素定位方法(三)

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

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

    2024年02月15日
    瀏覽(22)
  • 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日
    瀏覽(25)
  • 自動(dòng)化測(cè)試學(xué)習(xí)(六)-selenium定位元素之CSS選擇器詳細(xì)用法

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

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

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

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

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

    2024年02月04日
    瀏覽(29)
  • 自動(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日
    瀏覽(86)
  • python+selenium的web自動(dòng)化測(cè)試之8種元素定位方式詳解

    python+selenium的web自動(dòng)化測(cè)試之8種元素定位方式詳解

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

    2023年04月16日
    瀏覽(100)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包