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

selenium-多窗口和frame處理

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

1.切換窗口

適用場(chǎng)景:點(diǎn)擊按鈕后,重新打開(kāi)一個(gè)窗口,想要在新的窗口定位操作,就需要切換窗口

原理:獲取窗口的唯一標(biāo)識(shí)就是句柄,獲取到句柄,就可以切換到對(duì)應(yīng)的窗口了

處理方法:

  • 獲取到當(dāng)前的窗口柄(driver.current_window_handle)
  • 獲取到所有的窗柄 (driver.window_handles)
  • 判斷是否是想要操作的窗口,如果是,就可以對(duì)窗口進(jìn)行操作,如果不是跳轉(zhuǎn)到另外一個(gè)窗口,對(duì)另一個(gè)窗口進(jìn)行操作(driver.switch_to.window)

示例(百度搜索頁(yè)和百度新聞頁(yè)):

class TestDemo():
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(3)  
  
    def test_baidu(self):
        self.driver.get("https://www.baidu.com/")
        search_window = self.driver.current_window_handle
        self.driver.find_element_by_xpath("http://*[@id='s-top-left']/a[1]").click()
        handles = self.driver.window_handles
        print(handles)
        for handle in handles:
            if handle != search_window:
               self.driver.switch_to.window(handle)
               print(self.driver.title)
               self.driver.find_element_by_id('ww').send_keys('autotest')
               self.driver.find_element_by_id('s_btn_wr').click()

2.處理frame

什么是frame?

frame是html中的框架,在html中,frame可以在同一個(gè)窗口中顯示不止一個(gè)頁(yè)面。

Frame分類(lèi)
frame標(biāo)簽包含frameset、frame、iframe三種
frameset和普通的標(biāo)簽一樣,不會(huì)影響正常的定位,可以使用index、id、name、webelement任意種方式定位frameset
而frame與iframe對(duì)selenium定位而言是一樣的。selenium有一組方法對(duì)frame進(jìn)行操作

注意:一個(gè)頁(yè)面中可能存在多個(gè)frame;一個(gè)frame中可能嵌套frame

selenium-多窗口和frame處理,selenium,UI自動(dòng)化測(cè)試,selenium,測(cè)試工具

處理方法:

  • 跳轉(zhuǎn)到frame:switch_to.frame(frame_reference) --frame_reference用于定位frame,可以是id,name,index,也可以是selenium獲得WebElement對(duì)象。
  • 嵌套frame先進(jìn)入父類(lèi)frame再進(jìn)入子frame,才可以對(duì)子frame中的元素處理
driver.switch_to.frame('id') #id
driver.switch_to.frame('name') #name
driver.switch_to.frame('0') #index
driver.switch_to.frame(driver.find_element_by_xpath('path'))#也可以用css等定位方式
  • 跳轉(zhuǎn)出frame :switch_to.default_content()
  • 切換到父級(jí)frame :switch_to.parent_frame()?

示例(qq郵箱登錄頁(yè)面):文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-593888.html

def test_frame(self):
    self.driver.get("https://mail.qq.com/")

    self.driver.switch_to.frame(self.driver.find_element_by_xpath('//*[@id="QQMailSdkTool_login_loginBox_qq"]/iframe'))#切換到父類(lèi)frame
    self.driver.switch_to.frame('ptlogin_iframe')#切換到frame
    time.sleep(3)
    self.driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
    self.driver.switch_to.default_content()#跳出frame
    self.driver.find_element_by_class_name('header_logo').click()

到了這里,關(guān)于selenium-多窗口和frame處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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)文章

  • Python Selenium UI自動(dòng)化測(cè)試_python 自動(dòng)化ui測(cè)試

    Python Selenium UI自動(dòng)化測(cè)試_python 自動(dòng)化ui測(cè)試

    2.2 安裝selenium pip install selenium pip install selenium==2.53.0 2.3 下載webdriver驅(qū)動(dòng) 以chrome瀏覽器為例 查看chrome瀏覽器版本:在地址欄輸入 chrome://version chromedriver下載地址:http://chromedriver.storage.googleapis.com/index.html 下載與瀏覽器版本對(duì)應(yīng)的chrome driver 將下載好的chrome driver 解壓,并放至到

    2024年04月14日
    瀏覽(27)
  • Selenium UI自動(dòng)化測(cè)試入門(mén)

    Selenium UI自動(dòng)化測(cè)試入門(mén)

    1.先下載Pycharm編輯器, 網(wǎng)站:下載地址 2.安裝python環(huán)境包 地址:Download Python | Python.org ? ?安裝的時(shí)候記住勾選自動(dòng)配置環(huán)境變量 3.在pycharm中配置python執(zhí)行器路徑 ? 4.安裝selenium庫(kù) pip install selenium==4.1.1 ?查看當(dāng)前selenium版本 按住ctrl+鼠標(biāo)左鍵點(diǎn)擊 ?顯示版本號(hào) 5.安裝chromdriv

    2024年02月09日
    瀏覽(26)
  • selenium測(cè)試框架快速搭建(UI自動(dòng)化測(cè)試)

    selenium測(cè)試框架快速搭建(UI自動(dòng)化測(cè)試)

    一、介紹 ? ? ? ? selenium目前主流的web自動(dòng)化測(cè)試框架;支持多種編程語(yǔ)言Java、pythan、go、js等;selenium 提供一系列的api 供我們使用,因此在web測(cè)試時(shí)我們要點(diǎn)頁(yè)面中的某一個(gè)按鈕,那么我們只需要獲取頁(yè)面,然后根據(jù)id或者name找到對(duì)應(yīng)的按鈕,然后執(zhí)行click操作就可以完成

    2024年02月02日
    瀏覽(29)
  • Python Selenium UI自動(dòng)化測(cè)試_python 自動(dòng)化ui測(cè)試,Kotlin可能帶來(lái)的一個(gè)深坑

    Python Selenium UI自動(dòng)化測(cè)試_python 自動(dòng)化ui測(cè)試,Kotlin可能帶來(lái)的一個(gè)深坑

    :層級(jí)選取,如:#formspaninput 舉例:div.entry-sider-panelsection.entry-sider-panel__bddivdiv:nth-child(1) 3.3 元素操作 3.3.1 輸入內(nèi)容 send_keys() 3.3.2 點(diǎn)擊元素 click() 3.3.3 清空元素文本內(nèi)容 clear() 3.3.4 獲取元素文本 text 返回的是字符串 3.3.5 獲取元素尺寸 size 返回的是字典 3.3.6 獲取元素的屬性值

    2024年04月25日
    瀏覽(45)
  • UI自動(dòng)化測(cè)試篇 :Selenium2(Webdriver)&TestNG自動(dòng)化測(cè)試環(huán)境搭建

    UI自動(dòng)化測(cè)試篇 :Selenium2(Webdriver)&TestNG自動(dòng)化測(cè)試環(huán)境搭建

    ??? 交流討論: 歡迎加入我們一起學(xué)習(xí)! ?? 資源分享 : 耗時(shí)200+小時(shí)精選的「軟件測(cè)試」資料包 ??? 教程推薦: 火遍全網(wǎng)的《軟件測(cè)試》教程?? ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)指正! ?? 最開(kāi)始學(xué)習(xí)UI自動(dòng)化,用的工具是QTP10,用起來(lái)確實(shí)比較容易上手

    2024年03月10日
    瀏覽(31)
  • selenium-基于UI的自動(dòng)化測(cè)試框架

    selenium-基于UI的自動(dòng)化測(cè)試框架

    ??自動(dòng)化測(cè)試是指軟件測(cè)試的自動(dòng)化,在預(yù)設(shè)狀態(tài)下運(yùn)行應(yīng)用程序或者系統(tǒng),預(yù)設(shè)條件包括正常和異常,最后評(píng)估運(yùn)行結(jié)果,將人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的過(guò)程 ??自動(dòng)化測(cè)試包括UI自動(dòng)化、接口自動(dòng)化、單元測(cè)試自動(dòng)化。按照這個(gè)金字塔模型來(lái)進(jìn)行自動(dòng)化測(cè)試

    2024年02月05日
    瀏覽(38)
  • 【UI自動(dòng)化測(cè)試技術(shù)】自動(dòng)化測(cè)試研究:Python+Selenium+Pytest+Allure,詳解UI自動(dòng)化測(cè)試,學(xué)習(xí)模擬鼠標(biāo)+模擬鍵盤(pán)進(jìn)行相關(guān)操作(精)(四)

    1、了解元素交互的常用方法 2、學(xué)習(xí)如何對(duì)多選元素進(jìn)行操作 3、 學(xué)習(xí)模擬鼠標(biāo)進(jìn)行相關(guān)操作 ( 本節(jié)目標(biāo) ) 4、 學(xué)習(xí)模擬鍵盤(pán)進(jìn)行相關(guān)操作 ( 本節(jié)目標(biāo) ) 用于向 Web 瀏覽器提供虛擬化設(shè)備輸入操作的低級(jí)接口.除了剛剛講過(guò)的Web元素交互之外, Actions 接口 還提供了對(duì)指定輸

    2024年03月24日
    瀏覽(92)
  • Pytest+selenium UI自動(dòng)化測(cè)試實(shí)戰(zhàn)實(shí)例

    Pytest+selenium UI自動(dòng)化測(cè)試實(shí)戰(zhàn)實(shí)例

    今天來(lái)說(shuō)說(shuō)pytest吧,經(jīng)過(guò)幾周的時(shí)間學(xué)習(xí),有收獲也有疑惑,總之最后還是搞個(gè)小項(xiàng)目出來(lái)證明自己的努力不沒(méi)有白費(fèi)。 1 ? ?確保您已經(jīng)安裝了 python3.x 2 ? ?配置 python3+pycharm+selenium2 開(kāi)發(fā)環(huán)境 ? ? 3 ? ?安裝pytest庫(kù) pip install pytest 4 ? ?安裝pytest -html 報(bào)告插件 pip install pytest

    2024年02月05日
    瀏覽(97)
  • Selenium之路: UI自動(dòng)化測(cè)試的必備指南

    Selenium之路: UI自動(dòng)化測(cè)試的必備指南

    自動(dòng)化測(cè)試指軟件測(cè)試的自動(dòng)化,可以使用軟件工具或腳本來(lái)執(zhí)行測(cè)試任務(wù)的過(guò)程,以替代人工進(jìn)行重復(fù)性、繁瑣或耗時(shí)的測(cè)試活動(dòng);是將人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的過(guò)程 。 自動(dòng)化測(cè)試包括 UI 自動(dòng)化,接口自動(dòng)化,單元測(cè)試自動(dòng)化。 Selenium 是 Web 應(yīng)用中基于 UI

    2024年04月22日
    瀏覽(31)
  • Python Selenium搭建UI自動(dòng)化測(cè)試框架

    自動(dòng)化測(cè)試是軟件測(cè)試中非常重要的一部分,可以提高測(cè)試效率和測(cè)試覆蓋率。在UI自動(dòng)化測(cè)試中,Selenium是非常流行的工具。本文將介紹如何使用Python和Selenium搭建UI自動(dòng)化測(cè)試框架。 在開(kāi)始搭建UI自動(dòng)化測(cè)試框架之前,需要先安裝Python和Selenium??梢詮腜ython官網(wǎng)下載Python安裝

    2023年04月27日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包