前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《最新出炉》系列初窥篇-Python+Playwright自动化测试-33-处理https 安全问题或者非信任站点-上篇

《最新出炉》系列初窥篇-Python+Playwright自动化测试-33-处理https 安全问题或者非信任站点-上篇

原创
作者头像
北京-宏哥
发布于 2023-11-15 02:38:54
发布于 2023-11-15 02:38:54
96900
代码可运行
举报
运行总次数:0
代码可运行

1.简介

  这一篇宏哥主要介绍playwright如何在IE、Chrome和Firefox三个浏览器上处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续打开不安全的链接。举例来说,想必大家都应该用过前几年的12306网站购票,点击新版购票,是不是会出现如下的界面。宏哥又找了一个https的页面,不过现在这种网站很少了,主要原因就是大家越来越觉得安全的重要性,想要找到这么个网站可是不容易,费了好久,一个客户的VPN刚好是这种情况,如下图所示:

2.三种浏览器如何处理不受信任的证书

在selenium三种浏览器访问网页,弹出证书不信任,需要点击下信任继续访问才行,多为访问https的网页。那么我们在做自动化测试的时候,如何跳过这一步骤,直接访问到我们需要的页面了,这个就是宏哥主要分享和讲解的如何在三大浏览器跳过这一步骤。因此宏哥在playwright中也觉得类似差不多,但是代码写完后,宏哥直接傻眼了,完全不一样啊!!!playwright直接都没有访问到那个安全提示的页面,就报错了:playwright._impl._api_types.Error: net::ERR_CERT_AUTHORITY_INVALID at

3.解决方案

1.宏哥网上查了有关资料说是有关证书安全或则信任的错误,那么遇到这种我们怎么处理呢???首先确定的之前那种定位到【详细信息】,点击,然后再定位到【转到此网页(不推荐)】点击的方法不能用了,因为根本就没有访问到这个页面,怎么定位点击。

2.既然第一种不行,那就另辟蹊径,看看这种方法:playwright 设置 ignore_https_errors 参数忽略 SSL 错误 。

3.1context上下文中设置

context()设置 ignore_https_errors 参数忽略 SSL 错误,语法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 参数说明
ignore_https_errors=True   访问https地址解决安全证书
viewport={"width": 1920, "height": 1080}  最大化打开浏览器,参数可设置。
eg:
context = browser.new_context(ignore_https_errors=True, viewport={"width": 1920, "height": 1080})
3.2page()中设置

page()设置 ignore_https_errors 参数忽略 SSL 错误,语法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 参数说明
ignore_https_errors=True   访问https地址解决安全证书
viewport={"width": 1920, "height": 1080}  最大化打开浏览器,参数可设置。
eg:
page = browser.new_page(ignore_https_errors=True, viewport={"width": 1920, "height": 1080})

4.项目实战-context上下文中设置

4.1代码设计
4.2参考代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding=utf-8🔥

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2023-11-17
@author: 北京-宏哥
公众号:北京宏哥
Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-33-处理https 安全问题或者非信任站点
'''

# 3.导入模块
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context(ignore_https_errors=True)
    page = context.new_page()
    page.goto("https://1**.2**.**5.90:8899")
    page.wait_for_timeout(3000)
    context.close()
    browser.close()
with sync_playwright() as playwright:
    run(playwright)
4.3运行代码

1.运行代码,右键Run'Test',控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作。如下图所示:

5.项目实战-page()中设置

那宏哥就趁热打铁,按照上边的思路,实践一下,看看到底行不行。

5.1代码设计
5.2参考代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding=utf-8🔥

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2023-11-17
@author: 北京-宏哥
公众号:北京宏哥
Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-33-处理https 安全问题或者非信任站点
'''

# 3.导入模块
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    # context = browser.new_context()
    page = browser.new_page(ignore_https_errors=True)
    page.goto("https://1**.2**.1**.9*:8899")
    page.wait_for_timeout(3000)
    browser.close()
with sync_playwright() as playwright:
    run(playwright)
5.3运行代码

1.运行代码,右键Run'Test',控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作(可以跳过安全提示,成功访问到页面了)。如下图所示:

6.小结

到此遇到了类似的问题就可以参考宏哥的方法就行解决了,宏哥这里仅仅讲解和分享了一下Chrome浏览器,其他的浏览器类似的处理方法,不过宏哥没有试过,不一定能成功,有兴趣的童鞋或者小伙伴们可以尝试一下。

好了,时间不早了,今天就分享到这里,感谢大家耐心的阅读!!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《最新出炉》系列初窥篇-Python+Playwright自动化测试-34-处理https 安全问题或者非信任站点-下篇
这一篇宏哥主要介绍playwright如何在IE、Chrome和Firefox三个浏览器上处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续打开不安全的链接。举例来说,想必大家都应该用过前几年的12306网站购票,点击新版购票,是不是会出现如下的界面。宏哥又找了一个https的页面,不过现在这种网站很少了,主要原因就是大家越来越觉得安全的重要性,想要找到这么个网站可是不容易,费了好久,一个客户的VPN刚好是这种情况,如下图所示:
北京-宏哥
2023/11/16
6620
《最新出炉》系列初窥篇-Python+Playwright自动化测试-18-处理鼠标拖拽-上篇
本文主要介绍两个在测试过程中可能会用到的功能:在selenium中宏哥介绍了Actions类中的拖拽操作和Actions类中的划取字段操作。例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。playwright同样可以实现元素的拖拽和释放的操作。
北京-宏哥
2023/10/07
10.7K1
《最新出炉》系列初窥篇-Python+Playwright自动化测试-37-如何截图-上篇
这个系列的文章也讲解和分享了差不多三分之一吧,突然有小伙伴或者童鞋们问道playwright有没有截图的方法。答案当然是:肯定有的。宏哥回过头来看看确实这个非常基础的知识点还没有讲解和分享。那么在这个契机下就把它插队分享和讲解一下。Playwright提供了一个截屏的API:page.screenshot。使用该API,只需要指定截图的图片的保存路径及文件名即可。如果仅指定文件名,默认保存在当前目录。
北京-宏哥
2024/01/29
6040
《最新出炉》系列初窥篇-Python+Playwright自动化测试-19-处理鼠标拖拽-中篇
上一篇中,主要是介绍了拖拽的各种方法的理论知识以及实践,今天宏哥讲解和分享一下划取字段操作。例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。
北京-宏哥
2023/10/07
23.5K0
《最新出炉》系列入门篇-Python+Playwright自动化测试-7-浏览器的相关操作
上一篇已经将playwright的元素定位大法基本介绍的差不多了,但是在Web的UI自动化的测试中,我们通常需要使用一些方法来操作浏览器,今天就跟随学习了解一下。这一篇宏哥主要是介绍一下,在自动化测试的时候,我们常见的一些浏览器操作有哪些,宏哥将会一一介绍和讲解。
北京-宏哥
2023/07/24
8531
《最新出炉》系列入门篇-Python+Playwright自动化测试-7-浏览器的相关操作
《最新出炉》系列初窥篇-Python+Playwright自动化测试-39-highlight() 方法之追踪定位
在之前的文章中宏哥讲解和分享了,为了看清自动化测试的步骤,通过JavaScript添加高亮颜色,就可以清楚的看到执行步骤了。在学习和实践Playwright的过程中,偶然发现了使用Playwright中的highlight()方法也突出显示Web元素。与之前的方法有异曲同工之妙。而且很简单。highlight()方法可以突出显示Web元素,方便调试和可视化操作。
北京-宏哥
2024/04/21
2810
《最新出炉》系列初窥篇-Python+Playwright自动化测试-21-处理鼠标拖拽-番外篇
前边宏哥拖拽有提到那个反爬虫机制,加了各种参数,以及加载js脚本文件还是有问题,偶尔宏哥好像发现了解决问题的办法,看到了黎明的曙光,宏哥就说试一下看看行不行,万一实现了。结果宏哥试了结果真的OK啊,但是宏哥第一次运行可以,后边就不行了,然后将编辑器关闭重启,再次运行又可以,宏哥猜测可能是缓冲问题吧,但是具体原因还是没有查到。所以就加更一篇来记录是如何解决的。而且最近有一些爬虫用户私信给宏哥留言:在使用 playwright 的时候,提到 playwright 默认是用无痕模式打开的浏览器,很多网站会有反爬机制,使用无痕模式打开的时候功能无法正常使用。问宏哥有没有好的办法。宏哥答复暂时也没有好办法,也不知道宏哥这种解决方法会不会帮到他们,或者对他们有参考价值。
北京-宏哥
2023/10/13
10.6K0
最新出炉》系列初窥篇-Python+Playwright自动化测试-59 - 判断元素是否显示 - 上篇
有些页面元素的生命周期如同流星一闪,昙花一现。我们也不知道这个元素在没在页面中出现过,为了捕获这一美好瞬间,让其成为永恒。我们就来判断元素是否显示出现过。
北京-宏哥
2024/06/21
6200
最新出炉》系列初窥篇-Python+Playwright自动化测试-59 - 判断元素是否显示 - 上篇
《最新出炉》系列初窥篇-Python+Playwright自动化测试-35-处理web页面定位toast-上篇
在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast(出现之后一闪而过,不留下一点点痕迹),那么这个toast我们这边如何使用playwright进行定位测试呢?今天宏哥就分两篇介绍一下。
北京-宏哥
2023/11/17
4630
《最新出炉》系列初窥篇-Python+Playwright自动化测试-62 - 判断元素是否可操作
有些页面元素的生命周期如同流星一闪,昙花一现。我们也不知道这个元素在没在页面中出现过,为了捕获这一美好瞬间,让其成为永恒。我们就来判断元素是否显示出现过。
北京-宏哥
2024/06/25
3070
《最新出炉》系列初窥篇-Python+Playwright自动化测试-62 - 判断元素是否可操作
《最新出炉》系列小成篇-Python+Playwright自动化测试-67 - 模拟手机浏览器兼容性测试
在日常工作中,我们会遇到需要使用不同的硬件设备测试兼容性的问题,尤其是现在手机型号基本上是每个厂家每年发布一款新机型,而且手机的屏幕大小分辨率五花八门的,我们基本不可能全部机型都用真机测试一遍,playwright提供了模仿机型的功能,我们可以使用playwright来模拟设备。使用 Playwright,你可以在任何浏览器上测试你的应用程序,也可以模拟真实设备,例如手机或平板电脑。只需配置你想要模拟的设备,Playwright 就会模拟浏览器行为,例如“userAgent”、“screenSize”、“viewport”以及是否启用了“hasTouch”。你还可以为所有测试或特定测试模拟“地理位置”、“区域设置”和“时区”,以及设置“权限”以显示通知或更改“colorScheme”。
北京-宏哥
2024/08/10
3320
《最新出炉》系列小成篇-Python+Playwright自动化测试-67 - 模拟手机浏览器兼容性测试
《最新出炉》系列初窥篇-Python+Playwright自动化测试-61 - 隐藏元素定位与操作
对于前端隐藏元素,一直是自动化定位元素的隐形杀手,让人防不胜防。脚本跑到隐藏元素时位置时报各种各样的错误,可是这种隐藏的下拉菜单又没有办法避免,所以非常头痛,这一篇只为交流隐藏元素自动化定位处理方法以及宏哥自己的一点浅薄见解。
北京-宏哥
2024/06/24
3580
《最新出炉》系列初窥篇-Python+Playwright自动化测试-61 - 隐藏元素定位与操作
《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇
前边的三篇文章基本上对文件上传的知识介绍和讲解的差不多了,今天主要是来分享宏哥在文件上传的实际操作中发现的一个问题:input控件和非input控件的上传API对其都可以上传成功。废话不多说直接进入正题。
北京-宏哥
2024/06/19
4670
《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇
《最新出炉》系列初窥篇-Python+Playwright自动化测试-28-处理日历时间控件-上篇
我们在实际工作中,有可能遇到有些web产品,网页上有一些时间选择,然后支持按照不同时间段范围去筛选数据,例如:我们预定火车票或者预定酒店,需要选择发车日期或者酒店的入住与退房时间。宏哥早在之前的12306选出发站就简单的提到过,只不过是一带而过,今天就展开详细介绍一下。网页上日历控件一般,是一个文本输入框,鼠标点击,就会弹出日历界面,可以选择具体日期。这一篇,宏哥就来介绍一下日历控件是如何用Playwright实现自动化。
北京-宏哥
2023/11/07
5430
《最新出炉》系列初窥篇-Python+Playwright自动化测试-17-处理鼠标悬停
有些测试场景或者事件,playwright根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作。比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段。关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,因此也被称之为Actions的相关操作。今天跟随宏哥先来看看鼠标悬停出现下拉菜单和自动补全的情况playwright是如何处理。
北京-宏哥
2023/09/29
6731
《最新出炉》系列初窥篇-Python+Playwright自动化测试-17-处理鼠标悬停
《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置
在我们日常工作中或者生活中,经常会遇到我们的页面内容较多,一个屏幕范围无法完整展示内容,我们就需要滚动滚动条去到我们想要的地方,如下图页面,我们虽然在豆瓣首页,但是内容并不完整,如果我们想要直接点击电影模块中的选电影按钮,是需要往下滑动的。当页面超过屏幕的高度时候,需要滚动到元素出现的位置,让元素处于可视的窗口上才能去操作元素。
北京-宏哥
2024/05/26
2570
《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置
《最新出炉》系列初窥篇-Python+Playwright自动化测试-58 - 文件下载
前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件。因此宏哥就接着讲解和分享一下:自动化测试下载文件。可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就是访问到下载页面,然后定位到要下载的文件的下载按钮后,点击按钮就可以了。其实不是这样的,且听宏哥徐徐道来:宏哥这里的下载是去掉下载弹框的下载。我们可以看到在下载文件时会弹出一个Windows对话框,我们知道,selenium只能操作web页面,无法操作Windows对话框,在Selenium的的教程中,关于这部分的讲解就是利用浏览器的参数来禁止下载弹出窗口或者是利用工具autoIT或者键盘模拟实现的。那么Playwright是如何实现文件下载的呢?
北京-宏哥
2024/06/20
3270
《最新出炉》系列初窥篇-Python+Playwright自动化测试-58 - 文件下载
《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置
在我们日常工作中或者生活中,经常会遇到我们的页面内容较多,一个屏幕范围无法完整展示内容,我们就需要滚动滚动条去到我们想要的地方,如下图页面,我们虽然在豆瓣首页,但是内容并不完整,如果我们想要直接点击电影模块中的选电影按钮,是需要往下滑动的。当页面超过屏幕的高度时候,需要滚动到元素出现的位置,让元素处于可视的窗口上才能去操作元素。
北京-宏哥
2024/05/08
4660
《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置
《最新出炉》系列入门篇-Python+Playwright自动化测试-43-分页测试
分页测试,这种一般都是公共的方法系统中都写好了,这种一般出现是数据展示比较多的时候,会采取分页的方法,而且比较固定,一般是没有问题的,因此它非常适合自动化测试,但是如何使用playwright来进行分页自动化测试了,宏哥今天就讲解和分享一下。
北京-宏哥
2024/04/26
2750
《最新出炉》系列入门篇-Python+Playwright自动化测试-43-分页测试
《最新出炉》系列入门篇-Python+Playwright自动化测试-10-标签页操作(tab)
标签操作其实也是基于浏览器上下文(BrowserContext)进行操作的,而且宏哥在之前的BrowserContext也有提到过,但是有的童鞋或者小伙伴还是不清楚怎么操作,或者思路有点模糊,因此今天单独来对其进行讲解和分享一下,希望您有所帮助。
北京-宏哥
2023/07/27
7751
《最新出炉》系列入门篇-Python+Playwright自动化测试-10-标签页操作(tab)
推荐阅读
《最新出炉》系列初窥篇-Python+Playwright自动化测试-34-处理https 安全问题或者非信任站点-下篇
6620
《最新出炉》系列初窥篇-Python+Playwright自动化测试-18-处理鼠标拖拽-上篇
10.7K1
《最新出炉》系列初窥篇-Python+Playwright自动化测试-37-如何截图-上篇
6040
《最新出炉》系列初窥篇-Python+Playwright自动化测试-19-处理鼠标拖拽-中篇
23.5K0
《最新出炉》系列入门篇-Python+Playwright自动化测试-7-浏览器的相关操作
8531
《最新出炉》系列初窥篇-Python+Playwright自动化测试-39-highlight() 方法之追踪定位
2810
《最新出炉》系列初窥篇-Python+Playwright自动化测试-21-处理鼠标拖拽-番外篇
10.6K0
最新出炉》系列初窥篇-Python+Playwright自动化测试-59 - 判断元素是否显示 - 上篇
6200
《最新出炉》系列初窥篇-Python+Playwright自动化测试-35-处理web页面定位toast-上篇
4630
《最新出炉》系列初窥篇-Python+Playwright自动化测试-62 - 判断元素是否可操作
3070
《最新出炉》系列小成篇-Python+Playwright自动化测试-67 - 模拟手机浏览器兼容性测试
3320
《最新出炉》系列初窥篇-Python+Playwright自动化测试-61 - 隐藏元素定位与操作
3580
《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇
4670
《最新出炉》系列初窥篇-Python+Playwright自动化测试-28-处理日历时间控件-上篇
5430
《最新出炉》系列初窥篇-Python+Playwright自动化测试-17-处理鼠标悬停
6731
《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置
2570
《最新出炉》系列初窥篇-Python+Playwright自动化测试-58 - 文件下载
3270
《最新出炉》系列入门篇-Python+Playwright自动化测试-47-自动滚动到元素出现的位置
4660
《最新出炉》系列入门篇-Python+Playwright自动化测试-43-分页测试
2750
《最新出炉》系列入门篇-Python+Playwright自动化测试-10-标签页操作(tab)
7751
相关推荐
《最新出炉》系列初窥篇-Python+Playwright自动化测试-34-处理https 安全问题或者非信任站点-下篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验