首页 > 编程语言 >playwright -启动本地chrome浏览器-启动扩展程序-插件

playwright -启动本地chrome浏览器-启动扩展程序-插件

时间:2023-10-26 21:22:21浏览次数:38  
标签:插件 playwright 启动 url self page path data response

from playwright.sync_api import sync_playwright
import os


class Tool:
    def __init__(self, user_data_dir, executable_path):
        playwright = sync_playwright().start()
        # 启动扩展程序-开启影刀插件
        path_to_extension = r"D:\data\google\Chrome3\Default\Extensions\nhkjnlcggomjhckdeamipedlomphkepc\1.1_0"
        # 启动本地chrome浏览器,并加载插件
        self.context = playwright.chromium.launch_persistent_context(headless=False,
                                                                     args=["--start-maxmized",
                                                                           f"--disable-extensions-except={path_to_extension}",
                                                                           f"--load-extension={path_to_extension}",
                                                                           '--disable-blink-features=AutomationControlled'],

                                                                     slow_mo=3000,
                                                                     user_data_dir=user_data_dir,
                                                                     executable_path=executable_path
                                                                     )
        self.context.expect_page()

    def on_response(self, response, url):
        print(response.url)
        if "https://h5api.m.tmall.com/h5/mtop.taobao.pcdetail.data.get" in response.url and response.status == 200:
            # print(json.dumps(response.json(),ensure_ascii=False))
            html = response.text()
            self.parse(html)

    def parse(self):
        pass

    def spider_detail(self, url):
        page = self.context.new_page()
        # 开启网页监听
        page.on("response", lambda response: self.on_response(response, url))
        page.goto(url)
        page.wait_for_timeout(1000)
        html = page.content()
        print(html)
        page.close()

    def run(self):
        url = "https://detail.tmall.com/item.htm?id=740112373558&pvid=3fca9b71-80a0-45bb-9a4c-e1446649e7b8&scm=1007.40986.276750.0&spm=a21bo.jianhua.201876.22.5af92a89AECsv3&sku_properties=1627207:11167238"
        self.spider_detail(url)
        self.context.close()


if __name__ == '__main__':
    user_data_dir = 'D:\data\google\Chrome1'
    executable_path = r"C:\Users\19706\AppData\Local\Google\Chrome\Application\chrome.exe"
    tool = Tool(user_data_dir, executable_path)
    tool.run()

1.以上代码开启本地浏览器,并开启插件

2. 网页监听

 

标签:插件,playwright,启动,url,self,page,path,data,response
From: https://www.cnblogs.com/knighterrant/p/17790424.html

相关文章

  • 超好用的IDEA插件推荐!自带API调试功能
    大家好,今天给大家推荐一款超好用的IDEA插件,由API调试工具Apipost推出!支持在插件中获取token、支持代码完成后在插件中进行API调试,同时也保留了1.0版本部分功能如上传选择目录功能等。V1版本还会继续保留开源,方便各位进行自创魔改。V2版本目前已上架至IDEA插件商店,大家可以自行下......
  • 超好用的IDEA插件推荐!自带API调试功能
    大家好,今天给大家推荐一款超好用的IDEA插件,由API调试工具Apipost推出!支持在插件中获取token、支持代码完成后在插件中进行API调试,同时也保留了1.0版本部分功能如上传选择目录功能等。V1版本还会继续保留开源,方便各位进行自创魔改。V2版本目前已上架至IDEA插件商店,大家可以自行......
  • Django启动时不报错解决方案
    项目启动时有报错,但是无法知道具体信息:[root@Masternew_project]#python3manage.pyrunserverWatchingforfilechangeswithStatReloaderExceptioninthreaddjango-main-thread:Traceback(mostrecentcalllast):File"/usr/local/python3/lib/python3.8/thread......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-23-处理select下拉框-下篇
    1.简介上一篇中宏哥主要讲解和分享了一下,我们常见或者传统的select下拉框的操作,但是近几年又出现了了一种新的select下拉框,其和我们传统的select下拉框完全不一样,那么我们如何使用playwright对其进行定位操作了。宏哥今天就来讲解和分享一下仅供大家参考,不喜勿喷。2.新的select......
  • swoft 启动
    1.启动:①.启动swoft:phpbin/swofthttp:start②.查看进程:ps-efUIDPIDPPIDCSTIMETTYTIMECMDroot10720:18?00:00:01swoft-httpmasterprocess(/var/www/swoft//var/www/swoft/bin/swoft)root1410......
  • kubectl 插件
    https://kubernetes.io/zh-cn/docs/reference/kubectl/kubectl支持使用任何编程语言定义插件,插件位置必须要在$PATH路径中,必须要有可执行权限,命令必须以kubectl为前缀示例:编写脚本并放在PATH中root@master01:~#cat/usr/local/bin/kubectl-hello#!/bin/bashechohell......
  • windows nginx 开机启动
    1、在安装目录打开命令行,redis-server--service-installredis.windows.conf2、windows+R---->services.msc找到Redis,右键属性,启动类型选择自动,服务状态选择启动。即可开机自启动3、小tips:卸载服务:redis-server--service-uninstall开启服务:redis-server--service-start......
  • Mybatis,核心配置中,属性优化,别名优化,设置,插件
    配置:MyBatis可以配置成适应多种环境不过要记住:尽管可以配置多个环境,但每个SqlSessionFactory实例只能选择一种环境.学会使用配置多套运行环境!: 通过ID来选择环境: 测试的时候可能有很多不同的数据库可以选择,但是最终只能选择一个Mybatis默认的事务管理器就是JDBC,连接池:......
  • FFmpeg frei0r插件使用学习
    背景ffmpeg做基本的音视频编辑还是比较简单的,但要做一些滤镜及特效就比较麻烦了。接下来看看借用frei0r插件怎么做;简介你可以将frei0r看作是一个"视频特效工具箱"。比如你有一段视频,你想给它加上某种特殊效果,例如让它变成黑白色,或者添加一个模糊效果,而frei0r就包含了许多这样的......
  • 【Springcloud】Spring Cloud启动应用时指定IP或忽略某张网卡配置(eureka指定IP注册)
    参考于:https://blog.csdn.net/weixin_40783112/article/details/80396830背景springcloud服务注册到eureka,但部署的节点存在多网卡,导致服务注册到eureka的服务信息,被另外的服务无法调用到。解决方案:通过启动参数,指定IP,这样的话,注册到eureka就是可以被调用到了。-espri......