python+playwright 学习-37.如何在已经打开的浏览器上继续操作,绕过登录验证码

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+playwright 学习-37.如何在已经打开的浏览器上继续操作,绕过登录验证码相关的知识,希望对你有一定的参考价值。

前言

有些网站的安全级别比较高,你可能想绕过登录验证,先手工打开浏览器操作登录,让playwright继续在你已经打开的浏览器上操作。
selenium是可以做到这点,那么playwright也可以实现此功能。

环境准备

首先右键 Chrome 浏览器桌面图标,找到 chrome.exe 的安装路径

复制地址C:\\Program Files\\Google\\Chrome\\Application 添加到环境变量Path下

打开cmd输入命令启动chrome浏览器

  • --remote-debugging-port 是指定运行端口,只要没被占用就行
  • --user-data-dir 指定运行浏览器的运行数据,新建一个干净目录,不影响系统原来的数据
> chrome.exe --remote-debugging-port=12345 --user-data-dir="D:\\playwright_chrome"

执行后会启动chrome浏览器

参数配置

在启动浏览器的时候,我们还可以带上一些其它参数

  • --incognito 隐私模式打开
  • -–start-maximized:窗口最大化
  • --new-window:直接打开网址

使用示例,用隐私模式打开我的博客

chrome.exe --remote-debugging-port=12345 --incognito --start-maximized --user-data-dir="D:\\demo" --new-window https://www.baidu.com

在你已经打开的浏览器页面,手工操作登录,登录成功后,让playwright 继续操作。

playwright 接管页面

当页面打开后,可以使用connect_over_cdp()方法接管前面已经打开的浏览器,获取到context 上下文,通过上下文再获取到page对象

from playwright.sync_api import sync_playwright
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/


with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(\'http://localhost:12345/\')
    # 获取page对象
    page = browser.contexts[0].pages[0]
    print(page.url)
    print(page.title())
    page.get_by_text(\'新随笔\').click()

后面的操作,就跟操作page方法一样了


2021最新《Playwright+Python自动化测试》点我 ->立即参与
联系微信:283340479

以上是关于python+playwright 学习-37.如何在已经打开的浏览器上继续操作,绕过登录验证码的主要内容,如果未能解决你的问题,请参考以下文章

python+playwright 学习-10.pytest-playwright插件编写测试用例

python+playwright 学习-6.截图使用

python+playwright 学习-7.录制生成脚本

python+playwright 学习-3.页面操作Action

python+playwright 学习-4.操作iframe

python+playwright 学习-1.环境准备与快速开始