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

山西省建设监理协会网站聊石家庄seo

山西省建设监理协会网站,聊石家庄seo,服务好的南昌网站设计,电子商务具体干嘛的文章目录 playwright连接已有浏览器操作前置准备打开本地已有缓存的Chrome(理解)指定端口打开浏览器连接指定端口已启动浏览器(推荐) playwright连接已有浏览器操作 前置准备 pip install playwright # 安装playwright的python…

文章目录

  • playwright连接已有浏览器操作
    • 前置准备
    • 打开本地已有缓存的Chrome(理解)
    • 指定端口打开浏览器
    • 连接指定端口已启动浏览器(推荐)

playwright连接已有浏览器操作

前置准备

pip install playwright  # 安装playwright的python版本
playwright install  # 安装playwright自带的浏览器和ffmepg,此步骤耗时较长

打开本地已有缓存的Chrome(理解)

之前有写过一篇selenium打开指定浏览器进行自动化操作的文章(链接见后文),但那篇需要自己通过bat文件去启动浏览器。而且还要下载对应的驱动。

playwright就不需要下载驱动,它自己有,你浏览器版本可以不用管了,而且这个时候,你可以通过launch_persistent_context方法直接在代码中添加已有缓存的谷歌浏览器,并且指定端口打开,你以后全部由代码来跑就可以了。

# -*- coding: utf-8 -*-
'''
@Time : 2023/4/28 12:29
@Author : Vincent.xiaozai
@Email : Lvan826199@163.com
@File : playwright_demo1.py
'''
__author__ = "梦无矶小仔"import timefrom playwright.sync_api import Playwright,sync_playwright
# C:\Users\xiaozai\AppData\Local\ms-playwright
with sync_playwright() as playwright:browser = playwright.chromium.launch_persistent_context(# 指定本机用户缓存地址user_data_dir=r"C:\Users\xiaozai\AppData\Local\Google\Chrome\User Data",# 指定本机google客户端exe的路径executable_path=r"C:\Users\xiaozai\AppData\Local\Google\Chrome\Application\chrome.exe",# 要想通过这个下载文件这个必然要开  默认是Falseaccept_downloads=True,# 设置不是无头模式headless=False,bypass_csp=True,slow_mo=10,# 跳过检测args = ['--disable-blink-features=AutomationControlled','--remote-debugging-port=9222'])page = browser.new_page()page.goto("https://www.baidu.com/")print(page.title())time.sleep(200)browser.close()

user_data_dir:此文件夹就是你电脑本地所在的缓存文件夹,可以是系统默认的,也可以是你自己新建的

args处可以填的参数介绍如下

List of Chromium Command Line Switches « Peter Beverloo

中文版:Chrome浏览器启动参数大全(命令行参数) - 故人与猫 - 博客园 (cnblogs.com)

args处常用参数请参考下表。

序号参数说明
1–allow-outdated-plugins不停用过期的插件。
2–allow-running-insecure-content默认情况下,https 页面不允许从 http 链接引用 javascript/css/plug-ins。添加这一参数会放行这些内容。
3–allow-scripting-gallery允许拓展脚本在官方应用中心生效。默认情况下,出于安全因素考虑这些脚本都会被阻止。
4–disable-desktop-notifications禁用桌面通知,在 Windows 中桌面通知默认是启用的。
5–disable-file-system停用 FileSystem API。
6–disable-preconnect停用 TCP/IP 预连接。
7–disable-remote-fonts关闭远程字体支持。SVG 中字体不受此参数影响。
8–disable-web-security不遵守同源策略。
9–disk-cache-dir将缓存设置在给定的路径。
10–disk-cache-size设置缓存大小上限,以字节为单位。
11–dns-prefetch-disable停用DNS预读。
12–enable-print-preview启用打印预览。
13–extensions-update-frequency设定拓展自动更新频率,以秒为单位。
14–incognito让浏览器直接以隐身模式启动。
15–keep-alive-for-test最后一个标签关闭后仍保持浏览器进程。(某种意义上可以提高热启动速度,不过你最好得有充足的内存)
16–kiosk启用kiosk模式。(一种类似于全屏的浏览模式)
17–lang使用指定的语言。
18–no-displaying-insecure-content默认情况下,https 页面允许从 http 链接引用图片/字体/框架。添加这一参数会阻止这些内容。
19–no-referrers不发送 Http-Referer 头。
20–no-startup-window启动时不建立窗口。
21–proxy-server使用给定的代理服务器,这个参数只对 http 和 https 有效。
22–start-maximized启动时最大化。
23–single-process以单进程模式运行 Chromium。(启动时浏览器会给出不安全警告)。
24–user-agent使用给定的 User-Agent 字符串。
25–process-per-tab每个分页使用单独进程。
26–process-per-site每个站点使用单独进程。
27–in-process-plugins插件不启用单独进程。
28–disable-popup-blocking禁用弹出拦截。
29–disable-javascript禁用JavaScript。
30–disable-java禁用Java。
31–disable-plugins禁用插件。
32–disable-images禁用图像。
33–remote-debugging-port在指定端口上启用HTTP远程调试

launch_persistent_context可填参数可以查看源码,playwright -> sync_api -> _generated.py

请添加图片描述

运行效果展示(莫名其妙,一张百度的首页图片都说我违规,大家自己运行下代码就能看到效果):
看到右上角了吗?是登陆状态的,说明加载了我的用户信息,你可以打开一个新的标签页,你还会发现里面有你的标签。

指定端口打开浏览器

就字面意思,emmmm,貌似目前我还没有遇到需要用这个的场景。还是用前面那个方法结合着用好。

from playwright.sync_api import sync_playwright
playwright = sync_playwright().start()
# 指定端口打开浏览器
browser = playwright.chromium.launch(headless=False, args=['--remote-debugging-port=9001'])
time.sleep(10)
page = browser.new_page()
page.goto("https://www.baidu.com/")
print(page.title())
time.sleep(10)
browser.close()

连接指定端口已启动浏览器(推荐)

这个方案就是不使用launch_persistent_context方法,需要自己手动启动一个浏览器(或者使用命令),之后让playwright连接上这个浏览器进行自动化操作。

前置操作

需要通过命令启动一个特定的浏览器,这里我做了一个bat文件,详细方法参考之前的文章:

CSDN:https://blog.csdn.net/qq_46158060/article/details/122211988

公众号:Python+selenium定位已打开的谷歌浏览器 (qq.com)

@echo off
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenium\AutomationProfile"

我们先通过该命令快捷启动浏览器,之后就可以通过代码连接上该浏览器了。

# 可以使用bat手动打开该浏览器,也可以通过如下命令打开
command = r"C:\Users\xiaozai\AppData\Local\Google\Chrome\Application\chrome.exe --remote-debugging-port=9222 --user-data-dir=C:\selenium\AutomationProfile"
subprocess.Popen(command)
time.sleep(5)playwright = sync_playwright().start()
# 连接已打开浏览器,找好端口
browser = playwright.chromium.connect_over_cdp("http://127.0.0.1:9222")
default_context = browser.contexts[0] # 注意这里不是browser.new_page()了
page = default_context.pages[0]
page.goto("https://www.baidu.com/")
print(page.title()) #百度一下,你就知道

后面打开page这里为什么是这样写呢?我抄的源码示列的,诶嘿嘿

关键字:浏览器上下文

请添加图片描述

http://www.mnyf.cn/news/36318.html

相关文章:

  • 潍坊高端网站建设湛江seo网站管理
  • 做网站运营需要学什么推广网站都有哪些
  • 哪个手机网站 有app搜索引擎优化关键词的处理
  • 广西建设学院网站百度经验悬赏任务平台
  • 企业网站的运营如何做互联网销售可以卖什么产品
  • 湛江建站网络公司网站seo外链建设
  • 做网站怎么建立文件夹360网站seo手机优化软件
  • 中国建设银采购发文网站百度浏览器下载
  • 织梦单页面网站模板优秀网站
  • 网站建设售后服务安全维护重庆黄埔seo整站优化
  • 长沙网站排名优化报价长沙竞价优化
  • 上海大型网站建设天津百度推广排名优化
  • 怎样黑公司的网站seo简单优化操作步骤
  • 国内室内设计网站推荐怎么建立自己的网站
  • 织梦网站迁移整合营销是什么
  • 东莞营销网站建设价格旺道seo系统
  • 广东网站备案进度查询查询网站流量的网址
  • 南岗红旗大街网站建设品牌运营中心
  • 企业网站程序制作seo推广话术
  • wordpress+微信悬浮seo网站编辑优化招聘
  • 如何创建一个公众号北京专业seo公司
  • web简单网页代码seo推广如何做
  • 自己做的网站怎么设置文件下载百度关键词价格排行榜
  • 微信公众号链接网站怎么做推广app的营销方案
  • 噼里啪啦免费观看高清优化步骤
  • 提供商城网站谷歌浏览器网页版入口手机版
  • 聚搜济南网站建设公司seo关键词排名在线查询
  • 香港注册一个公司要多少钱镇江seo公司
  • 有没有免费的网站软件seo排名教程
  • 彩票网站怎么做ip管理市场调研报告