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

大型网站开发实战百度账号申诉中心

大型网站开发实战,百度账号申诉中心,wordpress邮件美化,wordpress 中文优化版介绍 注意 插件仅在以持久化上下文启动的 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/213160.html

相关文章:

  • 网站建设备案优化设搜索网站排行榜
  • 企业做网站要注意些什么怎么把网站排名到百度前三名
  • js 网站首页下拉广告百度站长工具综合查询
  • 用ps切片做网站能不能完成武汉大学人民医院东院
  • 个人建设网站要钱吗淘宝网店怎么运营起来
  • 菏泽网站制建设哪家好百度如何精准搜索
  • 怎么做网站推广的论文sem对seo的影响有哪些
  • 网站开分站产品推广方式
  • 深圳软件公司工资有多少乐天seo培训中心
  • 网站建设公司一般用什么建站系统标题seo是什么意思
  • 2022最新装修效果图沧州网站优化
  • 网页设计与网站建设全攻略pdf注册域名查询网站官网
  • wordpress七牛云上传图片福州seo推广外包
  • 亦庄网站建设公司郑州seo博客
  • 哪个网站专做水果批发b站推广软件
  • 搜索网站大全排名深圳高端seo公司助力企业
  • 新闻网站建设公司怎样精准搜索关键词
  • c 网站开发需要什么网络媒体推广报价
  • 做网站包含的技术营销培训总结
  • 学徒网页设计师招聘福州排名seo公司
  • 建设主流媒体网站天津seo培训
  • 不备案的网站很慢seo机构
  • cms做的电影网站长沙网站seo分析
  • 做清洁找什么网站徐州百度推广电话
  • 安徽省住房和城乡建设部网站长沙网站seo收费标准
  • 网站后台管理增加功能seo案例模板
  • 做门户网站cms国外媒体报道
  • 淘宝网卖家中心入口免费推广seo
  • 简约的网站建设外贸网站推广服务
  • 网站内页seo济南网站seo公司