Python Selenium递归遍历frame定位元素

本文详细介绍了使用Python的Selenium库如何递归遍历和定位网页中的frame元素,帮助开发者更有效地进行自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

递归遍历frame

经常用selenium定位元素时,定位方式试过,就是报找不到元素,然后发现元素在另一个frame里面,需要切换,多个frame的话,需要切来切去,十分不方便。这里封装一个方法findElement,可以递归遍历所有frame,一个个去找这个元素,直到找到为止,分享之。

这里的实例用的IEDriverServer.exe,没有的童鞋,需要网上下载,并拷贝到C:\Program Files\Internet Explorer\目录下,目录可以修改,熟悉selenium的可以根据喜好更改。
# -*- coding:utf-8 -*-
from selenium import webdriver
import os
from selenium.webdriver.common.by import By

#IE
IEDriverServer = "C:\Program Files\Internet Explorer\IEDriverServer.exe" 
os.environ["webdriver.ie.driver"] = IEDriverServer 
driver = webdriver.Ie(IEDriverServer)


def isGetElement(by=By.ID,location='input_text'):

	try:
	 	driver.find_element(by,location)
	 	return True
	except Exception ,err :
		return False

def  findElement(by=By.ID,location='input_text'):

	res=None

	if isGetElement(by,location):
		res=driver.find_element(by,location)
		return res

	driver.switch_to_default_content() #初始化切换回default frame

	if isGetE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风之独行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值