框架跳转导致定位失败的解决方法

本文探讨了Selenium新手常遇的定位问题,焦点在于解决超链接跳转至iframe框架内元素的定位,并涉及前端JS操作与反爬策略。通过切换frame并使用find_element_by_link_text方法,提升自动化测试技能。
摘要由CSDN通过智能技术生成

   相信大多数的Selenium初学者都会遇到莫名其妙的定位的element找不到的报错,其实除了人为的粗心写错语法、属性值、又或者还没有等待所需要定位的element在页面加载完成外,主要原因是框架跳转和超链接跳转的问题。


   关于超链接跳转的多窗转换,这里就不再重复介绍,详细可用看我之前博客的测试文章。如下图,在登录后,例如“企业网站”的 “去管理”这个超链接的 label,是在 iframe这框架里,所以在定位前,必须先跳转到这个框架里。由于该网站对所有超链接都是用 js 去隐藏达到反爬目的,因此在我们定位点击后,就会自动打开新的标签页,然后通过窗口转换,就可以爬取相对应的 URL 。

   在自动化测试中,除了要熟练掌握定位之外,还需要掌握前端的通过 js 对 各种 element attribution value 的 增、删、改方法。相关的方法可以参考我之前的博客。


browser.switch_to_frame('mainFrame')  
link = browser.find_element_by_link_text('去管理>')

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值