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

最強自動化測試框架Playwright(20)- iframe

這篇具有很好參考價值的文章主要介紹了最強自動化測試框架Playwright(20)- iframe。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一個頁面可以附加一個或多個?Frame?對象。每個頁面都有一個主框架,并且假定頁面級交互(如)在主框架中運行。click

frame_locator

使用 iframe 時,可以創(chuàng)建一個框架定位器,該定位器將進入 iframe 并允許選擇該 iframe 中的元素。

# Locate element inside frame
# Get frame using any other selector
username = page.frame_locator('.frame-class').get_by_label('User Name')
username.fill('John')

上面代碼,先定位frame,然后定位frame里的元素,并對元素進行輸入操作。

示例:

html文件

<!DOCTYPE html>
<html>
<head>
	<title>IFrame Example</title>
</head>
<body>
	<h1>IFrame Example</h1>
	<p>This is an example of using an iframe.</p>
	<iframe src="https://pity.fun/#/dashboard/workspace" frameborder="0" width="100%" height="500"></iframe>
</body>
</html>

這個html頁面有一個iframe

from playwright.sync_api import sync_playwright, expect


def run(playwright):
    chromium = playwright.chromium
    browser = chromium.launch(headless=False)
    page = browser.new_page()
    page.goto(r'C:\Users\Desktop\download.html')
    page.frame_locator("iframe").get_by_placeholder("用戶名: tester").fill("tester")
    page.frame_locator("iframe").get_by_placeholder("密碼: tester").fill("tester")
    page.frame_locator("iframe").get_by_role("button", name="登 錄").click()
    expect( page.frame_locator("iframe").get_by_title("工作臺")).to_be_visible()

with sync_playwright() as p:
    run(p)

如果要對iframe里元素進行操作,就需要先用frame_locator來定位iframe,再定位iframe里的元素。

?frame

可以使用?page.frame()?返回匹配的frame。

需要指定frame的name或者url。

# Get frame using the frame's name attribute
frame = page.frame('frame-login')

# Get frame using frame's URL
frame = page.frame(url=r'.*domain.*')

# Interact with the frame
frame.fill('#username-input', 'John')

frame tree

頁面都通過page.main_frame和frame.child_frames方法公開其當(dāng)前框架樹。

框架對象的生命周期由三個事件控制,這些事件在頁面對象上調(diào)度:

  • page.on(“frameattached”)?- 當(dāng)框架附加到頁面時觸發(fā)。一個框架只能附加到頁面一次。
  • page.on(“framenavigated”)?- 當(dāng)框架提交導(dǎo)航到其他 URL 時觸發(fā)。
  • page.on(“framedetached”)?- 當(dāng)框架從頁面分離時觸發(fā)。一個框架只能從頁面分離一次。
from playwright.sync_api import sync_playwright

def run(playwright):
    firefox = playwright.firefox
    browser = firefox.launch()
    page = browser.new_page()
    page.goto("https://www.theverge.com")
    dump_frame_tree(page.main_frame, "")
    browser.close()

def dump_frame_tree(frame, indent):
    print(indent + frame.name + '@' + frame.url)
    for child in frame.child_frames:
        dump_frame_tree(child, indent + "    ")

with sync_playwright() as playwright:
    run(playwright)

add_script_tag?

frame.add_script_tag()?方法在頁面中添加一個腳本標簽:

下面是一個例子,演示如何使用 playwright 的 `frame.add_script_tag()` 方法在頁面中添加一個腳本標簽:

from playwright.sync_api import Playwright, sync_playwright

with sync_playwright() as p:
? ? browser = p.chromium.launch()
? ? page = browser.new_page()
? ? page.goto('https://www.example.com')

? ? # 在頁面中添加一個腳本標簽
? ? page.main_frame().add_script_tag(url='https://code.jquery.com/jquery-3.6.0.min.js')

? ? # 在頁面中執(zhí)行添加的腳本
? ? page.evaluate('console.log(jQuery.fn.jquery)')

? ? browser.close()

在上面的代碼中,首先創(chuàng)建了一個 `browser` 實例和一個 `page` 實例,并跳轉(zhuǎn)到指定的網(wǎng)址。然后使用 `page.main_frame().add_script_tag()` 方法添加了一個 jQuery 的腳本標簽,這個腳本標簽的 URL 是 `https://code.jquery.com/jquery-3.6.0.min.js`。最后使用 `page.evaluate()` 方法在頁面上執(zhí)行添加的腳本,輸出了 jQuery 的版本號。

add_style_tag

在樣式表的加載觸發(fā)或?qū)?CSS 內(nèi)容注入框架時返回添加的標記。

將具有所需 URL 的標記或包含內(nèi)容的標記添加到頁面中。<link rel="stylesheet"><style type="text/css">

用法

frame.add_style_tag()
frame.add_style_tag(**kwargs)

content

獲取框架的完整 HTML 內(nèi)容,包括文檔類型。

frame.content()

drag_and_drop

frame.drag_and_drop(source, target)
frame.drag_and_drop(source, target, **kwargs)文章來源地址http://www.zghlxwxcb.cn/news/detail-647033.html

到了這里,關(guān)于最強自動化測試框架Playwright(20)- iframe的文章就介紹完了。如果您還想了解更多內(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īng)查實,立即刪除!

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

相關(guān)文章

  • 《最新出爐》系列初窺篇-Python+Playwright自動化測試-20-處理鼠標拖拽-下篇

    《最新出爐》系列初窺篇-Python+Playwright自動化測試-20-處理鼠標拖拽-下篇

    1.簡介 上一篇中,宏哥說的宏哥在最后提到網(wǎng)站的反爬蟲機制,那么宏哥在自己本地做一個網(wǎng)頁,沒有那個反爬蟲的機制,谷歌瀏覽器是不是就可以驗證成功了,宏哥就想驗證一下自己想法,其次有人私信宏哥說是有那種類似拼圖的驗證碼如何處理。于是寫了這一篇文章,另

    2024年02月22日
    瀏覽(28)
  • 基于Python+Pytest+Playwright+BDD的UI自動化測試框架

    本框架是基于Python+Pytest+Playwright+BDD的UI自動化測試框架。 測試社區(qū)地址: https://www.gitlink.org.cn/zone/tester 入群二維碼:https://www.gitlink.org.cn/floraachy/apiautotest/issues/1 對于框架任何問題,歡迎聯(lián)系我! 支持通過命令行指定瀏覽器,選擇需要運行的瀏覽器。 支持通過命令行指定運行

    2024年02月07日
    瀏覽(32)
  • 幾個Web自動化測試框架的比較:Cypress、Selenium和Playwright

    幾個Web自動化測試框架的比較:Cypress、Selenium和Playwright

    介紹: Web自動化測試框架對于確保Web應(yīng)用程序的質(zhì)量和可靠性至關(guān)重要。它們幫助開發(fā)人員和測試人員自動執(zhí)行重復(fù)性任務(wù),跨多個瀏覽器和平臺執(zhí)行測試,并在開發(fā)早期發(fā)現(xiàn)問題。 本文探討來3種流行的Web自動化測試框架——Cypress、Selenium和Playwright,總結(jié)了它們的優(yōu)點和缺

    2024年02月11日
    瀏覽(24)
  • 自動化神器 Playwright 的 Web 自動化測試解決方案

    自動化神器 Playwright 的 Web 自動化測試解決方案

    ? 1. 主流框架的認識 總結(jié): 由于Selenium在3.x和4.x兩個版本的迭代中并沒有發(fā)生多大的變化,因此Selenium一統(tǒng)天下的地位可能因新框架的出現(xiàn)而變得不那么穩(wěn)固。 后續(xù)的Cypress、TestCafe、Puppeteer被譽為后Selenium時代Web UI自動化的三駕馬車。但是由于這三個框架都是基于JavaScript開發(fā)

    2024年02月02日
    瀏覽(31)
  • 基于Playwright自動化測試部署方案

    基于Playwright自動化測試部署方案

    基于playwright框架,搭建了自動化測試項目,在服務(wù)器上使用Docker起容器跑鏡像,鏡像內(nèi)容基于playwright的官方鏡像,并向其中移入了host文件,以便切換測試用例運行所在的環(huán)境(測試/線上環(huán)境)。 引入測試用例的管理后臺,方便測試用例與測試報告的管理。管理后臺中可以

    2024年02月13日
    瀏覽(19)
  • 新一代自動化測試神器Playwright

    轉(zhuǎn)載請注明出處?? 作者:測試蔡坨坨 原文鏈接:caituotuo.top/4bedb73c.html 你好,我是測試蔡坨坨。 說到WebUI自動化測試,首當(dāng)其沖的當(dāng)屬Selenium,在很長的一段時間內(nèi),Selenium統(tǒng)治著Web自動化,Selenium其實經(jīng)歷了四個階段,從2006年發(fā)布的Selenium 1.0到最新的Selenium 4.8.3。 2006年,

    2023年04月15日
    瀏覽(30)
  • Playwright已經(jīng)是目前最好的測試自動化工具了嗎?

    作者觀點 :很長時間以來,Selenium是QA工程師尋求測試自動化解決方案的首選測試框架。它能夠測試任何瀏覽器(這在IE瀏覽器的統(tǒng)治時期尤其重要)和任何平臺。然而,現(xiàn)在看來,那個時代已經(jīng)過去了。 今天,大多數(shù)web應(yīng)用程序都是用現(xiàn)代前端框架開發(fā)的,如React、Angular或

    2024年02月08日
    瀏覽(22)
  • 【Playwright】了解 Playwright 自動化測試工具中 Headless 和非 Headless 模式的使用場景

    在現(xiàn)代 Web 開發(fā)中,測試是一個至關(guān)重要的部分。自動化測試可以幫助開發(fā)人員和測試人員驗證應(yīng)用程序的正確性,并確保在構(gòu)建過程中不會引入新的問題。Playwright 是一個流行的自動化測試工具,它支持 Headless 和非 Headless 兩種模式。 在本文中,田辛老師將探討這兩種模式的

    2024年02月03日
    瀏覽(28)
  • 《最新出爐》系列初窺篇-Python+Playwright自動化測試-3-離線搭建playwright環(huán)境

    《最新出爐》系列初窺篇-Python+Playwright自動化測試-3-離線搭建playwright環(huán)境

    有些小伙伴或者童鞋們私信留言說自己是在公司局域網(wǎng)辦公,或者公司為了安全對網(wǎng)絡(luò)管控比較嚴格(尤其是一些大的國企、央企),總之就是一句話無法連到外網(wǎng)去在線下載,宏哥剛看到留言時覺得這問題還留言問啊,你找個有網(wǎng)的電腦下載好安裝包然后安裝就可以用了。

    2024年02月08日
    瀏覽(24)
  • 懶人自動化生成e2e測試文件:JSON => playwright

    懶人自動化生成e2e測試文件:JSON => playwright

    本工具實現(xiàn)的是:使用簡單的 JSON 配置,生成可執(zhí)行的 playwright UI 測試文件。 然后通過項目內(nèi)已經(jīng)配置好的 playwright 配置實現(xiàn) UI 測試。 工具工作流程: 期望達到的目的是: ? 基礎(chǔ)頁面(進入頁面)即獲取頁面快照對比 ? 等待頁面某些請求結(jié)束,才進行頁面快照對比 ??

    2024年02月16日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包