Selenium-网页存在子frame如何定位元素

前言:当我们在定位元素的时候,明明这个元素的属性是唯一的,固定的,但是Selenium就是定位不到这个元素,这个时候,我们就要去考虑一下这个页面是不是存在子frame?

那如何去判断页面中是否存在frame呢?把鼠标放在跟节点的body标签上,检查他的高亮范围是否全屏,如果不是全屏,说明存在frame。

当我们确定元素是属于一个子Frame中的时候,就好办了,先切换到子frame,再去定位元素。

方法:可以通过frame的name属性进行切换。

driver.switch_to.frame("frame标签的name属性")

举个例子,如下图,当我想定位图中搜索框的时候,直接定位是定位不到的,往上翻页面,可以看到这个元素是存在于iframe下的,这个时候就需要先切换到对应的frame下才能定位到元素。

话不多说,代码如下图所示:

# 把Selenium切到子页面
driver.switch_to.frame("mainFrame")
driver.find_element(By.NAME, "name").send_keys("iphone xs max")

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>