Java教程

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

本文主要是介绍Selenium-网页存在子frame如何定位元素,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

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

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

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

 

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

 

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

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

 

这篇关于Selenium-网页存在子frame如何定位元素的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!