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

阿里云虚拟主机wordpress建站教程前后端分离的网站怎么做

阿里云虚拟主机wordpress建站教程,前后端分离的网站怎么做,asp.net 网站管理工具,万网域名续费怎么续Playwright允许收听网页上发生的各种类型的事件,例如网络请求,创建子页面,专用工作人员等。有几种方法可以订阅此类事件,例如等待事件或添加或删除事件侦听器。 等待事件 大多数情况下,脚本需要等待特定事件的发生。…

Playwright允许收听网页上发生的各种类型的事件,例如网络请求,创建子页面,专用工作人员等。有几种方法可以订阅此类事件,例如等待事件或添加或删除事件侦听器。

等待事件

大多数情况下,脚本需要等待特定事件的发生。下面是一些典型的事件等待模式。

等待request

使用 page.expect_request() 等待具有指定 url 的请求

 ```pywith page.expect_request(\"http://example.com/resource\") as first:page.get_by_text(\"trigger request\").click()first_request = first.value# or with a lambdawith page.expect_request(lambda request: request.url == \"http://example.com\" and request.method == \"get\") as second:page.get_by_text(\"trigger request\").click()second_request = second.value```

 点击元素,预期request的url是某个url

等待弹出窗口

with page.expect_popup() as popup:page.get_by_text("open the popup").click()
popup.value.goto("https://wikipedia.org") 

 监听页面事件

  def print_request_sent(request):print("Request sent: " + request.url)def print_request_finished(request):print("Request finished: " + request.url)page.on("request", print_request_sent)page.on("requestfinished", print_request_finished)page.goto("http://www.baidu.com")

可以看到监听到了发出请求和请求完成。 

示例:

from playwright.sync_api import Playwright, sync_playwrightdef main(playwright: Playwright) -> None:# 启动浏览器和页面browser = playwright.chromium.launch()page = browser.new_page()# 监听新页面打开事件def on_page(page):print(f"A new page was opened: {page.url}")page.close()page.on("popup", on_page)# 打开新页面并等待page.goto("https://example.com")page.click("a[target='_blank']")page.wait_for_selector("#newpage")# 关闭浏览器browser.close()with sync_playwright() as playwright:main(playwright)

在上面的例子中,使用了playwright的chromium驱动程序启动了浏览器,并创建了一个新页面。然后,使用page.on来监听新页面打开事件。当新页面被打开时,on_page函数会被调用,并输出新页面的URL。最后,我们在页面上单击一个链接,等待新页面打开并关闭浏览器。 

 一次性监听特定事件

page.once可以用于监听一次事件,当事件被触发时,执行回调函数并自动注销事件监听器。

once函数第一个参数为event,第二个参数为一个回调函数。

def once(self, event: str, f: typing.Callable[..., None]) -> None:return super().once(event=event, f=f)

page.once("dialog", lambda dialog: dialog.accept("2021"))
page.evaluate("prompt('Enter a number:')")

示例:

from playwright.sync_api import Playwright, sync_playwrightwith sync_playwright() as p:browser = p.chromium.launch()page = browser.new_page()def on_load():print(page.title())page.once("load", on_load)page.goto("https://example.com")browser.close()

在上述示例代码中,使用了page.once函数来监听页面的load事件,当事件触发时,会执行on_load函数并输出页面的标题。由于使用了page.once函数,因此事件监听器只会在事件被触发一次后自动注销,不会造成内存泄漏问题。 

http://www.yayakq.cn/news/643206/

相关文章:

  • 机械网站开发方案网站建设实施方案及预算
  • 云南网站建设电话制图软件免费
  • 京东的网站建设分析北京企业网站建设哪家服务好
  • 百度做网站教程北京工商登记服务平台
  • 家政公司网站建设个人网站建设程序设计
  • 我学我做我知道网站蝴蝶传媒网站推广
  • 企业网站设计多少钱淄博网站公司
  • 北京定制网站建设公司做化学合成的网站有哪些
  • 易展 网站建设兰州手机网站建设
  • 建筑导航网站医院行业网站
  • 淘宝app官网杭seo网站建设排名
  • 设计了网站首页杭州有哪些做网站的公司好
  • 做亚马逊网站需要租办公室吗值得玩的网页游戏
  • nodejs做网站还是app夸克搜索引擎
  • 做电销哪些网站可以找到客户端永久开源的免费建站系统
  • 建立英文网站星巴克seo网络推广
  • 优化怎么做网页搜索引擎优化技术
  • 广电基础设施建设官方网站网站换服务器对排名有影响吗
  • 深圳建设工程招投标网站常熟seo关键词优化公司
  • 外贸网站建站方案建设商场黄金网站
  • 网站是如何制作的wordpress插件 速度
  • 时代强个人网站中国风网站建设
  • 罗湖建网站公司上海包装设计公司排名
  • 网站的优化是什么有哪些网站的搜索引擎
  • 公司做网站算什么费用苏州工业园区外国语学校
  • 岳阳建设网站徐州网站简介
  • 特价锦州网站建设山东3个中高风险地区
  • 小公司网站建设现状设计说明书
  • 手机做图纸app下载网站wordpress汉化.po
  • 东莞app培训网站建设设计师主题 wordpress