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

軟件測試/測試開發(fā)/全日制|Python selenium CSS定位方法詳解

這篇具有很好參考價值的文章主要介紹了軟件測試/測試開發(fā)/全日制|Python selenium CSS定位方法詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

軟件測試/測試開發(fā)/全日制|Python selenium CSS定位方法詳解,web自動化測試-selenium,python,selenium,css

簡介

CSS選擇器是一種用于選擇HTML元素的模式。它允許我們根據(jù)元素的標(biāo)簽名、類名、ID、屬性等屬性進(jìn)行選擇。CSS選擇器的語法簡單而靈活,是前端開發(fā)中常用的定位元素的方式。

selenium中的css定位,實際是通過css選擇器來定位到具體元素,css選擇器來自于css語法。CSS定位有以下顯著優(yōu)點:

  1. 語法簡潔
  2. 對比其他定位方式,定位效率更快
  3. 對比其他定位方式,定位更穩(wěn)定

css選擇器語法

基礎(chǔ)選擇器

選擇器 格式 示例 示例說明
選擇全部 * * 選擇全部元素
標(biāo)簽選擇器 html標(biāo)簽 p 選擇所有<p>元素
ID選擇器 #id屬性值 #su 選擇所有id='su’的元素
類選擇器 .class屬性值 .s_btn 選擇所有class='s_btn’的元素
屬性選擇器1 [屬性名] [type] 選擇所有帶type屬性的元素
屬性選擇器2 [屬性名=‘屬性值’] [type=“submit”] 選擇所有type="submit"的元素
屬性選擇器3 [屬性名~=‘屬性值’] [type~=“submit”] 選擇所有type包含"submit"的元素
屬性選擇器4 [屬性名|=‘屬性值’] [type|=“submit”] 選擇所有type以"submit"開頭的元素

備注:某些元素屬性有多個值(如class屬性),值表現(xiàn)為以空格隔開,使用時需要單個取出使用

組合選擇器

組合選擇器就是同時使用多個基礎(chǔ)選擇器,從而更好地篩選出目標(biāo)元素

選擇器 格式 示例 示例說明
標(biāo)簽指定屬性 標(biāo)簽加屬性描述 input#su 選擇所有id='su’的<input>元素
并集 元素1,元素2 div,p 選擇所有<div>和<p>元素
父子 元素1>元素2 div>p 選擇所有父級是<div>的<p>元素
后代 元素1 元素2 div p 選擇<div>中的所有<p>元素
相鄰 元素1+元素2 div+p 選擇<div>同級后的相鄰<p>元素
同級 元素1~元素2 div~p 選擇<div>同級后的所有<p>元素

偽屬性選擇器

偽屬性選擇器是指元素在html中實際并不存在該屬性,是由css定義的拓展描述屬性

選擇器 格式 示例 示例說明
唯一子元素 :only-child p:only-child 選擇所有<p>元素且該元素是其父級的唯一一個元素
第一子元素 :first-child p:first-child 選擇所有<p>元素且該元素是其父級的第一個元素
最后子元素 :last-child p:last-child 選擇所有<p>元素且該元素是其父級的最后一個子元素
順序選擇器 :nth-child(n) p:nth-child(2) 選擇所有<p>元素且該元素是其父級的第二個子元素
順序類型選擇器 :nth-of-type(n) p:nth-of-type(2) 選擇所有<p>元素且該元素是其父級的第二個<p>元素
倒序選擇器 :nth-last-child(n) p:nth-last-child(2) 選擇所有<p>元素且該元素是其父級的倒數(shù)第二個子元素
倒序類型選擇器 :nth-last-of-type(n) p:nth-last-of-type(2) 選擇所有<p>元素且該元素是其父級的倒數(shù)第二個<p>元素

使用示例

  1. 通過id選擇器查找

通過css定位的id屬性查找百度首頁的輸入框元素,代碼如下:

from selenium import webdriver
from selenium.webdriver.common.by import By


 
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") #打開網(wǎng)頁
driver.maximize_window()
 
element = driver.find_element(By.CSS_SELECTOR, '#kw')
print(element)
  1. 通過class選擇器查找

通過元素的.class屬性值查找元素,我們還是以百度首頁的輸入框為例,代碼如下:

from selenium import webdriver
from selenium.webdriver.common.by import By


 
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") #打開網(wǎng)頁
driver.maximize_window()
 
element = driver.find_element(By.CSS_SELECTOR, '.s_ipt')
print(element)
  1. 通過標(biāo)簽定位

我們繼續(xù)使用百度首頁輸入框為例,輸入框一般有input標(biāo)簽,代碼如下:

from selenium import webdriver
from selenium.webdriver.common.by import By


 
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") #打開網(wǎng)頁
driver.maximize_window()
 
element = driver.find_element(By.CSS_SELECTOR, 'input')
print(element)
  1. 層級選擇器

根據(jù)元素的父子關(guān)系來選擇,實例:直接子元素層級關(guān)系,使用>號,繼續(xù)以百度首頁的搜索框為例,代碼如下:

from selenium import webdriver
from selenium.webdriver.common.by import By


 
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") #打開網(wǎng)頁
driver.maximize_window()
 
element = driver.find_element(By.CSS_SELECTOR, '.bg.s_ipt_wr > input')
print(element)

注:如果兩個元素之間不是直接的子元素關(guān)系,我們需要使用空格隔開,當(dāng)有多級的層級關(guān)系時,我們可以使用duoge>符號,示例如下:

from selenium import webdriver
from selenium.webdriver.common.by import By


 
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") #打開網(wǎng)頁
driver.maximize_window()
 
element = driver.find_element(By.CSS_SELECTOR, 'form input')
print(element)

------------------------------------

from selenium import webdriver
from selenium.webdriver.common.by import By


 
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") #打開網(wǎng)頁
driver.maximize_window()
 
element = driver.find_element(By.CSS_SELECTOR, 'form > span > input')
print(element)

總結(jié)

CSS定位是非常高效的一種定位方式,代碼也非常簡潔,相對于xpath定位方法來說,它的定位速度快,在能夠使用CSS定位的情況下,推薦使用CSS定位來實現(xiàn)元素的定位。希望本文能夠幫到大家!

獲取更多技術(shù)資料,請點擊!

軟件測試/測試開發(fā)/全日制|Python selenium CSS定位方法詳解,web自動化測試-selenium,python,selenium,css文章來源地址http://www.zghlxwxcb.cn/news/detail-797467.html

到了這里,關(guān)于軟件測試/測試開發(fā)/全日制|Python selenium CSS定位方法詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 軟件測試/測試開發(fā)/全日制/測試管理丨跨平臺設(shè)備管理方案 Selenium Grid

    軟件測試/測試開發(fā)/全日制/測試管理丨跨平臺設(shè)備管理方案 Selenium Grid

    Selenium Grid是一個用于實現(xiàn)分布式測試的工具,允許在多個機器和多個瀏覽器上同時運行Selenium測試。它可以有效地管理和分發(fā)測試任務(wù),支持跨平臺和跨瀏覽器的測試。以下是關(guān)于Selenium Grid的一些關(guān)鍵特點和使用方案: 分布式測試: ?Selenium Grid支持在不同的計算機和操作系

    2024年01月20日
    瀏覽(26)
  • 軟件測試/測試開發(fā)/全日制/測試管理丨Neo4j 圖數(shù)據(jù)庫

    軟件測試/測試開發(fā)/全日制/測試管理丨Neo4j 圖數(shù)據(jù)庫

    Neo4j是一種開源的圖數(shù)據(jù)庫管理系統(tǒng),專門設(shè)計用于存儲、檢索和處理圖結(jié)構(gòu)數(shù)據(jù)。圖數(shù)據(jù)庫采用節(jié)點(Node)、關(guān)系(Relationship)和屬性(Property)的概念,適用于處理具有復(fù)雜關(guān)系的數(shù)據(jù)。以下是Neo4j圖數(shù)據(jù)庫的基本介紹: 圖結(jié)構(gòu): Neo4j基于圖結(jié)構(gòu),數(shù)據(jù)以節(jié)點和關(guān)系的形式

    2024年01月19日
    瀏覽(60)
  • 軟件測試/測試開發(fā)/全日制|MySQL主鍵約束詳解:保障數(shù)據(jù)完整性與性能優(yōu)化

    軟件測試/測試開發(fā)/全日制|MySQL主鍵約束詳解:保障數(shù)據(jù)完整性與性能優(yōu)化

    簡介 主鍵(PRIMARY KEY)的完整稱呼是“主鍵約束”,是 MySQL 中使用最為頻繁的約束。一般情況下,為了便于 DBMS 更快的查找到表中的記錄,都會在表中設(shè)置一個主鍵。 MySQL是一種廣泛使用的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其支持多種數(shù)據(jù)約束,其中主鍵約束是其中最重要的之一

    2024年02月19日
    瀏覽(61)
  • 軟件測試/人工智能/全日制|GitHub怎么用,這篇文章告訴你

    軟件測試/人工智能/全日制|GitHub怎么用,這篇文章告訴你

    前言 作為一個剛剛接觸代碼的程序員,可能我們會聽到一個詞 GitHub ,把代碼提交到 GitHub 上,或者從 GitHub 上克隆項目到本地,在 GitHub 上查看某個工具的文檔等等,我們不禁要問, GitHub 究竟是什么,該怎么用,本文就給各位初學(xué)者們介紹什么是 GitHub ,它能幫我們干什么?

    2024年02月02日
    瀏覽(27)
  • 軟件測試/測試開發(fā)丨Python 內(nèi)置庫 正則表達(dá)式

    軟件測試/測試開發(fā)丨Python 內(nèi)置庫 正則表達(dá)式

    本文為霍格沃茲測試開發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享 原文鏈接:https://ceshiren.com/t/topic/27058 正則表達(dá)式 使用re模塊實現(xiàn)正則表達(dá)式操作 正則表達(dá)式就是記錄文本規(guī)則的代碼 可以查找操作符合某些復(fù)雜規(guī)則的字符串 把正則表達(dá)式作為模式字符串 正則表達(dá)式可以使用原生字符串來表

    2024年02月10日
    瀏覽(61)
  • 【軟件測試】淺了解什么是軟件測試及開發(fā)測試模型

    【軟件測試】淺了解什么是軟件測試及開發(fā)測試模型

    目錄 1.什么是軟件測試? 2.什么是需求? 3.什么是測試用例 4.什么是軟件錯誤(bug)? 5.開發(fā)模型和測試模型 5.1軟件的生命周期 5.2瀑布模型 5.3螺旋模型 5.4軟件測試V模型 5.5軟件測試w模型 6.軟件測試的生命周期 7.bug的生命周期 最常見的理解是:軟件測試就是找 BUG ,發(fā)現(xiàn)缺陷

    2023年04月19日
    瀏覽(37)
  • 【軟件測試】軟件測試的基本概念和開發(fā)模型

    【軟件測試】軟件測試的基本概念和開發(fā)模型

    在進(jìn)行軟件測試的學(xué)習(xí)之前,我們要了解軟件測試一些基本概念. 這些基本概念將幫助我們更加明確工作的目標(biāo)以及軟件測試到底要做什么. 軟件測試的基本概念有3個,分別是 需求,測試用例和BUG. 這里的需求還可以分為 用戶需求和軟件需求 ,用戶需求: 簡單理解為甲方提出的需求

    2023年04月15日
    瀏覽(24)
  • 軟件測試/測試開發(fā)丨ChatGPT在軟件測試領(lǐng)域的應(yīng)用

    軟件測試/測試開發(fā)丨ChatGPT在軟件測試領(lǐng)域的應(yīng)用

    隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,軟件已經(jīng)成為現(xiàn)代社會中不可或缺的一部分。而軟件測試作為保障軟件質(zhì)量的關(guān)鍵環(huán)節(jié),也越來越受到人們的關(guān)注。在這個領(lǐng)域,ChatGPT作為一種新型的人工智能技術(shù),正逐漸應(yīng)用于軟件測試領(lǐng)域,為軟件測試帶來了諸多創(chuàng)新和改進(jìn)。 在軟件測試

    2024年02月14日
    瀏覽(33)
  • Soft:軟件開發(fā)的簡介(敏捷開發(fā)等6大軟件開發(fā)模式)、軟件測試的簡介(單元測試/集成測試/系統(tǒng)測試/驗收測試/回歸測試、黑白灰功能測試、DEV等四套環(huán)境)、運維的簡介之詳細(xì)攻略

    Soft:軟件開發(fā)的簡介(敏捷開發(fā)等6大軟件開發(fā)模式)、軟件測試的簡介(單元測試/集成測試/系統(tǒng)測試/驗收測試/回歸測試、黑白灰功能測試、DEV等四套環(huán)境)、運維的簡介之詳細(xì)攻略 目錄 1、軟件開發(fā)(敏捷開發(fā)等6大軟件開發(fā)模式) Computer:敏捷開發(fā)Scrum方法的簡介、發(fā)展歷程、開

    2024年02月04日
    瀏覽(98)
  • 測試軟件開發(fā)---軟件缺陷章

    軟件缺陷 軟件出現(xiàn)缺陷一般是因為開發(fā)的流程規(guī)劃不準(zhǔn)確,需求不明確,或需求變更/在開發(fā)者開發(fā)的時候無法清晰的理解需求出現(xiàn)不同程度的偏差/客戶方頻繁的更改、更新需求也會影響到軟件的質(zhì)量 軟件結(jié)構(gòu)復(fù)雜、編碼誤差/錯誤、項目期限過短、項目中插入新的技術(shù) 處理

    2024年02月02日
    瀏覽(44)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包