首页 > 其他分享 >selenium ui自动化遇到切换窗口,点击高级并继续访问的处理方式

selenium ui自动化遇到切换窗口,点击高级并继续访问的处理方式

时间:2023-07-03 11:45:35浏览次数:36  
标签:opt 浏览器 -- selenium add argument 点击 ui 页面

在python自动化中(ui),遇到了一个需要浏览器切换窗口,点击“高级”-“接受风险并继续”的操作,前期在本地编写代码调试时,没有任何问题。

切换环境,放到Linux服务中,使用无头模式去运行代码时,发现切换窗口时,总是找不到页面元素,查看截图发现页面为空白,检查两天无果。

场景图片,如下图所示,当点击某个按钮,触发新的浏览器窗口时,所展示的页面:

# 修改之前的启动浏览器部分代码

opt = webdriver.ChromeOptions()
opt.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug
opt.add_argument('--hide-scrollbars') # 隐藏滚动条,应对一些特殊页面
opt.add_argument('--headless') # 浏览器不提供可视化界面。Linux下如果系统不支持可视化不加这条会启动失败
cls.driver = webdriver.Chrome(chrome_options=opt)
cls.driver.maximize_window()     

 经过各种查询,发现是因为少了一个启动的参数,--ignore-certificate-errors  添加为启动选项来忽略不受信任的证书错误

添加上此参数后,问题完美解决,切换的新的窗口后,可以找到元素并进行后续操作。

# 修改之前的启动浏览器部分代码

opt = webdriver.ChromeOptions()
opt.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug
opt.add_argument('--hide-scrollbars') # 隐藏滚动条,应对一些特殊页面

opt.add_argument('--headless') # 浏览器不提供可视化界面。Linux下如果系统不支持可视化不加这条会启动失败
opt.add_argument('--ignore-certificate-errors') # 添加为启动选项来忽略不受信任的证书错误
cls.driver = webdriver.Chrome(chrome_options=opt)
cls.driver.maximize_window() 

 

标签:opt,浏览器,--,selenium,add,argument,点击,ui,页面
From: https://www.cnblogs.com/xingyunqiu/p/17522363.html

相关文章

  • elementui 手动上传文件 post 请求
    //上传图片校验  fileChange(file){   constisJPG=file.raw.type==='image/jpeg'   constisPNG=file.raw.type==='image/png'   constisLt2M=file.raw.size/1024/1024<0.2   if(!isPNG&&!isJPG){   ......
  • vue+elementui实现树形结构表格且合并同一个children的单元格
    1、实现效果2、结构代码(给table添加classname)3、通过设置css实现合并同一个children的单元格.nonRelationalDatabase{//去除横向边框::v-deep.el-table__row{  td{   border-bottom:none!important;  } }//......
  • vue2-props-required必填项
    props的required必填项<template><div><h5>Count组件</h5><p>count的值是:{{count}}</p><button@click="add">+1</button></div></template><script>expo......
  • 浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t
    一、C语言基本数据类型回顾在C语言中有6种基本数据类型:short、int、long、float、double、char1、数值类型1)整型:short、int、long2)浮点型:float、double2、字符类型:char二、typedef回顾typedef用来定义关键字或标识符的别名,例如:typedefdoublewages;typedefwagessal......
  • Illiquid asset
    Definitionof'Illiquid'Thestateofasecurityorotherassetthatcannoteasilybesoldorexchangedforcashwithoutasubstantiallossinvalue.Illiquidassetsalsocannotbesoldquicklybecauseofalackofreadyandwillinginvestorso......
  • IOS开发-使用UIImageView加载网络图片
    使用UIImageView加载网络图片可以分为三步1.创建UIImageView实例:UIImageView*imgview=[[UIImageViewalloc]init];imgview.frame=CGRectMake((self.view.frame.size.width-100)/2,(self.view.frame.size.height-100)/2,100,100); 2.下载图片数据:NSUR......
  • IOS开发-UIImageView基本用法
    UIImageView是iOS中用于显示图像(图片、gif、svg等)的视图。它的主要功能有:1.显示图片UIImageView可以通过image属性显示一张UIImage类型的图片。可以是本地图片、从网络下载的图片等。2.设置填充模式可以通过contentMode属性设置图片在UIImageView内的显示和填充模式。内容......
  • IOS开发-UIColor的基本用法
    1.使用预定义的系统颜色UIKit框架内预定义了一些常用的颜色,我们可以直接使用:UIColor*redColor=[UIColorredColor];UIColor*blueColor=[UIColorblueColor];UIColor*greenColor=[UIColorgreenColor];UIColor*blackColor=[UIColorblackColor];UIColor......
  • IOS开发-设置UILabel行间距lineSpacing
    1.如何设置UILabel行间距lineSpacing UILabel是没有这么一个直接暴露的属性的,想要修改lineSpacing,我们需要借助NSAttributedString来实现。NSMutableParagraphStyle*style=[NSMutableParagraphStylenew];style.lineSpacing=15;NSMutableDictionary*attribu......
  • IOS开发-实现一个高度自适应的UILabel和一个宽度自适应的UILabel
    1.实现一个高度自适应的UILable思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的高度//实现一个高度自适应的uilabelUILabel*label2=[[UILabelalloc]init];label2.text=@"xxx......