当前位置: 首页 > wzjs >正文

mooc网站开发流程图专门的网页制作工具有

mooc网站开发流程图,专门的网页制作工具有,长葛做网站,医院网站建设介绍 注意 插件仅在以持久化上下文启动的 Chrome/Chromium 浏览器中工作。请谨慎使用自定义浏览器参数,因为其中一些可能会破坏 Playwright 的功能。 以下是获取位于 ./my-extension 的 Manifest v2 插件背景页面句柄的代码示例。 from playwright.sync_api imp…

介绍

注意

插件仅在以持久化上下文启动的 Chrome/Chromium 浏览器中工作。请谨慎使用自定义浏览器参数,因为其中一些可能会破坏 Playwright 的功能。

以下是获取位于 ./my-extension 的 Manifest v2 插件背景页面句柄的代码示例。

from playwright.sync_api import sync_playwright, Playwrightpath_to_extension = "./my-extension"
user_data_dir = "/tmp/test-user-data-dir"def run(playwright: Playwright):context = playwright.chromium.launch_persistent_context(user_data_dir,headless=False,args=[f"--disable-extensions-except={path_to_extension}",f"--load-extension={path_to_extension}",],)if len(context.background_pages) == 0:background_page = context.wait_for_event('backgroundpage')else:background_page = context.background_pages[0]# Test the background page as you would any other page.context.close()with sync_playwright() as playwright:run(playwright)

测试

为了在运行测试时加载扩展,你可以使用测试夹具(fixture)来设置上下文。此外,你还可以动态地检索扩展ID,并使用它来加载和测试例如弹出页面等。

首先,添加将加载扩展的测试夹具(fixtures)。

conftest.py
from typing import Generator
from pathlib import Path
from playwright.sync_api import Playwright, BrowserContext
import pytest@pytest.fixture()
def context(playwright: Playwright) -> Generator[BrowserContext, None, None]:path_to_extension = Path(__file__).parent.joinpath("my-extension")context = playwright.chromium.launch_persistent_context("",headless=False,args=[f"--disable-extensions-except={path_to_extension}",f"--load-extension={path_to_extension}",],)yield contextcontext.close()@pytest.fixture()
def extension_id(context) -> Generator[str, None, None]:# for manifest v2:# background = context.background_pages[0]# if not background:#     background = context.wait_for_event("backgroundpage")# for manifest v3:background = context.service_workers[0]if not background:background = context.wait_for_event("serviceworker")extension_id = background.url.split("/")[2]yield extension_id

然后在测试中使用

test_foo.py
from playwright.sync_api import expect, Pagedef test_example_test(page: Page) -> None:page.goto("https://example.com")expect(page.locator("body")).to_contain_text("Changed by my-extension")def test_popup_page(page: Page, extension_id: str) -> None:page.goto(f"chrome-extension://{extension_id}/popup.html")expect(page.locator("body")).to_have_text("my-extension popup")

无头模式(Headless Mode)

警告

--headless=new 模式并不是 Playwright 官方支持的功能,并且可能会导致意外的行为。

在 Playwright 中,Chrome 的默认无头模式并不支持 Chrome 扩展。为了克服这一限制,你可以通过以下代码以新的无头模式运行 Chrome 的持久化上下文(persistent context):

conftest.py
path_to_extension = Path(__file__).parent.joinpath("my-extension")
context = playwright.chromium.launch_persistent_context("",headless=False,args=["--headless=new",f"--disable-extensions-except={path_to_extension}", # 禁用 Chrome 浏览器中的所有扩展,除了指定路径({path_to_extension})下的扩展。f"--load-extension={path_to_extension}", # 指定 Chrome 浏览器启动时应该加载的扩展的路径],
)

http://www.dtcms.com/wzjs/368094.html

相关文章:

  • 嘉兴市南湖区城乡规划建设局网站线上推广公司
  • 北京的网站开发公司网络软文营销案例
  • 湖北专业网站建设大全权威解读当前经济热点问题
  • 个人商城网站源码网站规划
  • 手机看电影的网站建设外贸网站平台有哪些
  • 专业网站建设 公司排名网络营销优化
  • 网站开发便宜好用的百度网盘搜索引擎
  • 手机app模板重庆seo招聘
  • 腾讯云网站备案热点新闻事件
  • 个人备案的网站可以做什么企业网络推广
  • 网站相对路径 .我要下载百度
  • 现代网站制作万网域名查询注册商
  • 北京住总第三开发建设有限公司网站网站优化公司收费
  • 企业微信网站开发文档seowhy官网
  • 服饰网站建设规划书谷歌seo引擎优化
  • 包头网站建设推广谷歌推广
  • 重庆网站建设咨询企业网络宣传推广方案
  • 青岛网站开发工资广告投放方案
  • 海口专业做网站微信裂变营销软件
  • 福建建设人才网站广告联盟有哪些平台
  • wordpress 需要php湖南关键词优化品牌价格
  • 大连seo按天付费科学新概念seo外链平台
  • 如何做不同域名跳转同一个网站互联网线上推广
  • wordpress微信服务号登录成都seo达人
  • 政府网站建设经验材料范文如何制作一个网页网站
  • 茶文化网站网页设计深圳网络营销信息推荐
  • 怎么做网站百度经验app推广怎么做
  • 护肤品网站建设的意义我想做电商
  • 电子商务网站设计实践报告昆明自动seo
  • 网站建设优化西安惠州seo代理计费