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

关于建设网站的图片素材太原seo软件

关于建设网站的图片素材,太原seo软件,wordpress模板无法自定义导航,做外链网站在自动化UI测试过程中常常会在元素定位阶段就踩坑#xff0c;碰到困扰已久的问题。 以下是个人整理元素定位报错原因和解决方法。 踩坑一#xff1a;StaleElementReferenceException selenium.common.exceptions.StaleElementReferenceException: Message: stale element re… 在自动化UI测试过程中常常会在元素定位阶段就踩坑碰到困扰已久的问题。 以下是个人整理元素定位报错原因和解决方法。 踩坑一StaleElementReferenceException selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document 异常原因 意思是引用的元素已过期。原因是页面刷新了此时当然找不到之前页面的元素就算是后退回来的页面也是不一样的。 在编写脚本时一直报这个错使用显示等待都不行在一顿百度操作后才知道是元素被刷新了 我们发现仅仅是刷新了一下页面两次的element id是不同的这就说明这是两个不同的元素如果用之前的element自然会报错 原因很明显你用别人的身份证id去找现在的人哪怕这两个人长的很像他也会告诉你对不起你找错人啦。 解决方法 有时我们无法避免不确定什么时候元素就会被刷新。页面刷新后重新获取元素的思路不变这时可以使用python的异常处理语句try…except…异常出现时重新执行关键代码如下 如下图我在实际工作当中编写脚本时使用异常try捕获异常后页面刷新后重新获取元素可以成功找到元素了 踩坑二ElementClickInterceptedException元素点击交互异常 具体报错selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted is not clickable at point (1421, 283). Other element would receive the click: E (Session info: chrome104.0.5112.102) 意思是元素定位相互覆盖元素已经找到但是无法点击 解决方法 方法一使用强制等待但是每次都有类似的元素无法点击使用强制等待的话会延长脚本执行时间 time.sleep()     前言之前便遇到过很多次该问题的报错就没有管它但是随着越来越多的元素报该错每次使用强制等待会大大延长脚本的执行时间于是便网上找各种方法解决该问题最终发现是自己使用显示等待的方法错了 如下是显示等待的用法和区别 方法二显性等待 element_to_be_clickable--元素是否可点击 vibility of element_ located--元素是否可见 presence_of_element_located--元素是否存在 如上三种等待方法最开始我一直使用的是presence_of_element_located判断元素是否存在最终还是报错提示元素元素点击拦截异常 element_to_be_clickable--等待元素出现可以点击便可以元素定位成功 需要先导包 from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait 复制代码 element WebDriverWait(self.browser, 5).until(EC.element_to_be_clickable((By.XPATH, //input[placeholder请输入会员手机号]))) element.clcik() 复制代码 方法三使用JS点击 然而有时即使已经显式等待了却仍然会报错 ElementClickInterceptedException这多少有点奇怪为什么 webdriver 有时就是无法点击我不知道也许这和他首先执行的一些验证检查有关反正就在这一刻它不给你点 代码如下 element self.browser.find_element(By.XPATH, (//span[classel-checkbox__inner])[4]) self.browser.execute_script(arguments[0].click();, element) 复制代码 这是通过 JavaScript 完成的点击js可以避开一些校验 以上便是在编写selenium自动化时元素定位时踩的坑以此分享防止踩坑
http://www.hkea.cn/news/14439284/

相关文章:

  • 网站模板怎么建设在线手机网站预览
  • 2010年4月江苏省03340网站建设与管理答案保姆seo教程
  • 网站开发 博客wordpress定时功能
  • ps网站设计素材wordpress 域名邮箱设置
  • 网站推广效果怎么样龙岩网站建设要多
  • 网站建设费按多少年摊销seo网站有优化培训班吗
  • 岳阳高端网站建设大连网站开发企业
  • WordPress找不到站点国外app推广平台有哪些
  • wordpress获取分类导航seo查询系统
  • 做网站有名的公司有哪些长沙网站制
  • 网站排名怎么弄未成年直播免费观看
  • 自己做本地网站济南网站建设xywlcn
  • 做网站建设需要做哪些工作常用的品牌策划公司
  • 可以在线做护理题的网站wordpress 防止采集
  • 深圳正规网站建设免费推广的方式
  • 石家庄做网站最好的公司最好的网络推广方式
  • 门户网站建设与运行情况良好中国水运建设行业协会网站
  • 遂溪手机网站建设公司wordpress使用指南
  • 网站好的案例怎么编写程序
  • 网站网上预定功能怎么做网店运营与推广
  • 现货黄金什么网站可以做直播宝应网站设计
  • 中国建设银行客户端下载官方网站广州头条新闻最新
  • 在网上怎么建立自己的网站建设可以聊天的网站
  • 做网站有没有效果WordPress 4.8加速
  • 做微信小程序和网站那个简单公司网站建设进度
  • 高清无版权网站wordpress与阿里服务器区分
  • 网络营销企业网站优化宁宁网seo
  • hexo框架做网站河南做网站推广
  • 宿州网站建设多少钱cp网站开发是什么
  • 河南互助网站建设公司注册网上申报流程