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

Selenium之css如何實現(xiàn)元素定位,你了解多少?

這篇具有很好參考價值的文章主要介紹了Selenium之css如何實現(xiàn)元素定位,你了解多少?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

世界上最遠的距離大概就是明明看到一個頁面元素站在那里,但是我卻定位不到?。?/p>

Selenium定位元素的方法有很多種,像是通過id、name、class_name、tag_name、link_text等等,但是這些方法局限性太大, 隨著自動化測試的深入,和不同框架要求,會發(fā)現(xiàn)上面的定位方式無法解決一些元素定位。尤其對于這樣一些元素:

1、沒有id、name、class等屬性;

2、標簽的屬性或文本信息特征沒有或者不明顯;

3、標簽嵌套復雜,層次太多等。

所以這些方法了解一下即可,我們真正需要熟練掌握的是通過xpath和css定位,一般只要掌握一種就可以應對大部分定位工作了。

CSS定位方式和XPATH定位方式基本相同,只是CSS定位表達式有其自己的格式。CSS定位方式擁有比XPATH定位速度快,且比XPATH穩(wěn)定的特性。下面詳細介紹CSS定位方式的使用方法

那這里我跟大家分享如何通過css定位元素,css定位元素的方法是find _element_by_css_selector

如下是百度首頁html代碼:

Selenium之css如何實現(xiàn)元素定位,你了解多少?,selenium,測試工具,測試用例,功能測試,postman,單元測試,壓力測試

1.css定位通過絕對路徑定位

什么是絕對路徑?絕對路徑其實就是從開始標簽(html)一級一級找到目標元素,上下級元素分隔符為>或者空格

例如:通過css絕對路徑定位百度輸入框,并輸入內容檢索,代碼如下:

?from selenium import webdriver
import time
# 打開瀏覽器
driver=webdriver.Chrome()
# 加載項目地址(百度)
driver.get("http://www.baidu.com")
time.sleep(3)
#定位百度輸入框
driver.find_element_by_css_selector("html body div div div div div form span input").send_keys
driver.find_element_by_css_selector("html>body>div>div>div>div>div>form>span>input").send_keys

2.css定位通過id或class定位

id選擇器符號:#,class選擇器符號:.還是剛才案例,通過id或者class定位代碼如下:

# 通過id定位
driver.find_element_by_css_selector("#kw").send_keys("小龍女")
#class進行定位
4driver.find_element_by_css_selector(".s_ipt").send_keys("小龍女")

?Selenium之css如何實現(xiàn)元素定位,你了解多少?,selenium,測試工具,測試用例,功能測試,postman,單元測試,壓力測試

?3.通過屬性或者部分屬性定位
css定位可以通過除元素id、class以外的其他屬性或者通過多個屬性唯一定位元素,也可以通過部分屬性值來定位。通過部分屬性定位,有這么些常規(guī)匹配符,以字符^指明從字符串的開始匹配,以字符以字符*指明在需要進行模糊查詢,以字符$指明在字符串的結尾匹配,代碼如下:?
?

driver.find_element_by_css_selector("[autocomplete='off']").send_keys
driver.find_element_by_css_selector("[autocomplete='off'][name='wd' ]").send_keys
# 4)通過部分屬性值定位
driver.find_element_by_css_selector("[autocomplete^='o'][name='wd']").send_keys
driver.find_element_by_css_selector("[autocomplete*='f']").send_keys
driver.find_element_by_css_selector("[autocomplete$='f']").send_keys

4.通過層級定位

層級定位一般很難唯一定位到元素,一般情況下層級跟id/class/屬性或者部分屬性值一起組合定位:

driver.find_element_by_css_selector("form>span>input").send_keys
driver.find_element_by_css_selector("form.fm>span>input.s_ipt").send_keys
driver.find_element_by_css_selector("form>span>input#kw").send_keys

5.通過兄弟節(jié)點定位

什么是兄弟節(jié)點,就是同一父級元素下,存在多個相同子標簽,那么這些子元素就是兄弟節(jié)點,比如像下面這個html代碼

Selenium之css如何實現(xiàn)元素定位,你了解多少?,selenium,測試工具,測試用例,功能測試,postman,單元測試,壓力測試

如何來定位這些兄弟節(jié)點呢?定位第一個元素first-child,定位第2/3/4...N位置元素則用nth-child(n),定位最后一個元素last-child,代碼如下:?

# 6)通過兄弟節(jié)點定位
driver.find_element_by_css_selector("div#u1 a:first-child").click()
driver.find_element_by_css_selector("div#u1 a:nth-child(3)").click()
driver.find_element_by_css_selector("div#u1 a:last-child").click()

總結:

目前為止,已經整理了自動化測試Python+Selenium中對于web測試定位頁面元素的兩種主流,也是最好的定位方式XPATH和CSS定位方式,在我個人看來兩個方式都很不錯,效率都很高,也很容易解決日常工作中的問題,也能夠減少頁面的變動對于腳本的維護成本,當然不同問題還需要不同的方式解決,能解決問題的方法都是好方法,希望以后的日子對于定位元素不再是難題。下面我們對這兩種定位方式大概做個對比;

Selenium之css如何實現(xiàn)元素定位,你了解多少?,selenium,測試工具,測試用例,功能測試,postman,單元測試,壓力測試

XPATH定位和CSS定位很相似,XPATH功能更強大一些吧,但CSS定位方式執(zhí)行速度更快,鑒于某些瀏覽器不支持CSS定位方式,并且一般在自動化測試實施過程中使用xpath定位方式要比css更普遍,所以建議大家先掌握xpath。

最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

Selenium之css如何實現(xiàn)元素定位,你了解多少?,selenium,測試工具,測試用例,功能測試,postman,單元測試,壓力測試

這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!有需要的小伙伴可以點擊下方小卡片領取??

?文章來源地址http://www.zghlxwxcb.cn/news/detail-594965.html

到了這里,關于Selenium之css如何實現(xiàn)元素定位,你了解多少?的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

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

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

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

    2024年02月22日
    瀏覽(46)
  • Selenium WebDriver提供By.CSS_SELECTOR定位元素方法

    `By.CSS_SELECTOR` 是 Selenium WebDriver 提供的一種定位元素的方法,它允許使用 CSS 選擇器來定位頁面上的元素。 以下是常見的 CSS 選擇器語法: 1. **標簽選擇器(Tag Selector)**:通過元素的標簽名選擇元素。 ? ?- 示例:`p` 選取所有 p 標簽的元素。 2. **類選擇器(Class Selector)**:通

    2024年04月24日
    瀏覽(12)
  • 自動化測試學習(六)-selenium定位元素之CSS選擇器詳細用法

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

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

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

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

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

    2024年02月10日
    瀏覽(28)
  • python中selenium如何定位shadow-root中的元素

    python中selenium如何定位shadow-root中的元素

    最近遇到了這個問題,找了好久,終于找到了,參考的是下面這篇文章,但是這篇文章寫的比較簡單并且有點小問題,對此進行補充,和記錄關于shadow-root的查找_#shadow-root_Redamancy又在寫B(tài)UG的博客-CSDN博客 是以下面這個圖片為例,要定位到里面的input需要這么寫: 后面如果有多

    2024年02月03日
    瀏覽(15)
  • Python+Selenium實現(xiàn)列表元素的查找定位及刪除操作

    Python+Selenium實現(xiàn)列表元素的查找定位及刪除操作

    獲取列表(單頁)全部數(shù)據(jù) 刪除某行元素 查找并刪除元素(目前僅支持刪除單條數(shù)據(jù),循環(huán)刪除待繼續(xù)研究) 結果示例

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

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

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

    2024年02月20日
    瀏覽(25)
  • Selenium操作網(wǎng)頁時,如何獲取元素的CSS選擇器?

    輸入文本操作的元素的CSS選擇器怎么獲取,用https://passport.baidu.com/v2/?login演示 要獲取元素的CSS選擇器,可以使用瀏覽器的開發(fā)者工具來查看頁面的HTML結構和元素屬性。以下是在Chrome瀏覽器中獲取元素CSS選擇器的步驟: 打開Chrome瀏覽器,并訪問目標網(wǎng)站(例如:https://passpor

    2024年01月16日
    瀏覽(20)
  • pyautogui 配合 selenium 實現(xiàn)桌面坐標系定位元素坐標,模擬真實鼠標行為

    pyautogui 配合 selenium 實現(xiàn)桌面坐標系定位元素坐標,模擬真實鼠標行為。 場景:當我需要點擊某個元素,或者觸發(fā)瀏覽器的自動填充賬號密碼時,自動化點擊無效。但是想要模擬真實鼠標點擊又需要元素的坐標通過pyautogui來實現(xiàn)。通過selenium node.location獲取的坐標是相當于瀏覽

    2024年02月13日
    瀏覽(15)
  • 『App自動化測試之Appium應用篇』| 繼承于selenium常用的元素定位方法有哪些?如何使用?

    『App自動化測試之Appium應用篇』| 繼承于selenium常用的元素定位方法有哪些?如何使用?

    在了解元素等位前,我們先了解下 app 的一些類型,只有了解這些 app 的類型才能針對性的選擇元素定位方法; 因為不同類型的app的定位方式可能存在差異性; 我們了解到 APP 可以分為原生 APP 、 Web APP 、混合 APP 。 而原生 APP 是基于 Android 或 iOS 平臺官方的語言、類庫、工具

    2024年02月03日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包