Python+Selenium元素定位不到的问题及解决办法

在做Web自动化测试的时候经常会遇到元素定位不到的问题,结合实例总结一下原因和解决方法:

1.由于iFrame或者Frame的原因无法定位

实例:163邮箱登录页面,发现邮箱和密码的inputbox识别不到,登录btn也识别不到

初始脚本:

原因分析:

查看页面发现是这三个元素是嵌入的iframe里边的,WebDriver只能识别一个页面中的元素,对于嵌入页面的元素是无法直接识别到的,如下图:

解决方案:

当元素处于iframe中,需要先跳转到iframe中才能被识别,如下:

调用_switch_to.frame()跳转进iframe。

driver.switch_to.parent_frame()切换到上一层frame

driver.switch_to.derault_content()跳回到最外层页面

原文地址:https://www.cnblogs.com/daisyatcnblog/p/12328977.html

时间: 2024-10-06 10:20:51

Python+Selenium元素定位不到的问题及解决办法的相关文章

python selenium 元素定位(三)

上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到这个元素,我们从能对这个元素进行操作,那么我们下来看看如何来定位元素. selenium 提供了8中元素定位的方法(大家要学习元素的定位,首先可以学习下前端的基础知识,这样有利于我们学习自动化测试,大家可以看一下:http://www.runoob.com/) find_element_by_id

python+selenium元素定位之XPath学习01

参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tutorial.html XML 实例文档 我们将在下面的例子中使用这个 XML 文档: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title

python+selenium元素定位之XPath学习02

XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. XML 实例文档 我们将在下面的例子中使用这个 XML 文档. 实例 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="eng">Harry Potter&l

Selenium元素定位学习教程

无论哪一种自动化测试的驱动框架(基于B/S,桌面应用,还是手机App).都应当具有一套优秀的元素定位技术.通常的自动化测试流程也可以简单的归结为是一个从被测试程序中识别或是定位元素以及执行操作和验证元素的过程.这一篇我们就一起学习Selenium以及它是如何定位DOM元素的.本文将会介绍如下内容: Selenium DOM 主要的定位方式. Selenium 如何扩展元素定位方式. 辅助浏览器工具 (一)Selenium DOM主要定位方式 上一篇中,我们介绍了WebDriver和 WebEle

关于python下安装PIL库遇到的问题及解决办法

关于python下安装PIL库遇到的问题及解决办法 :在下面这个网址下载pipllow(a replacement for PIL) www.lfd.uci.edu... ,我下的版本是Pillow-4.1.1-cp27-cp27m-win32.whl,因为python安装的是32位,所以下载的32... 不过在cmd里用pip install Pillow-4.1.1-cp27-cp27m-win32.whl时候报错:架构不被支持.于是乎网上找了答案,在cmd输入python进入shell环境

ios下元素溢出设置 overflow:auto; 不能滑动解决办法

ios下元素溢出设置 overflow:auto; 不能滑动解决办法: overflow:auto; overflow-y:scroll; -webkit-overflow-scrolling:touch; height:200px;

selenium+python之元素定位方式介绍

网页自动化测试最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以今天来总结下Selenuim+Python最基本的几种定位方式及实例说明, 以百度搜索输入框为例,用谷歌浏览器具体说明各个定位方式的用法. 1.导入selenium包的webdriver方法 输入 from selenium import webdriver 2.从 time 模块中引入sleep函数,使用sleep函数可以让程序休眠 输入 from time import sleep

selenium元素定位

1.元素定位 在本章中,我们将讨论 u 使用浏览器工具来检查页面中元素的结构 u 使用findElement方法定位元素 u 使用findElements方法来定位元素 u 定位链接 u 通过标签名称定位元素 u 使用CSS选择器定位元素 u 使用XPath定位元素 u 使用文本定位元素 u 使用高级CSS选择器定位元素 u 使用jQuery选择器 u 定位表格的行和列 u 定位表格中的子元素 1.1.介绍 成功的自动化GUI(图形用户界面)测试取决于从被测试的应用程序中识别和定位GUI元素,然

selenium元素定位(三)

使用selenium就不可避免的要提到界面元素定位,通过元素定位来实现一系列的逻辑操作. selenium提供了8中元素定位的方式: id.name.class name.tag name.link text.partial link text.xpath.css selector. 其中使用xpath来根据id或class来定位元素的可以解决大部分问题. 这8中定位方式在python selenium中使用的对应具体方法为: 1 find_element_by_id() 2 find_elem