Selenium登录126邮箱,定位不到账号输入框解决办法

本文介绍使用Selenium在不同浏览器中定位和操作iframe的方法。详细解释了如何在Firefox和Chrome中切换到iframe,并提供了具体的代码示例。对于没有id或name属性的iframe,文章还介绍了如何使用xpath进行定位。
摘要由CSDN通过智能技术生成

查看元素发现id为动态,所以不选择以id定位。

使用xpath路径定位,每次获取元素都失败,最后网上查了下发现其嵌套在表单frame/iframe中,所以我们先要进入frame/iframe中,然后再定位

frame/iframe的定位方式有3种,一是通过id;二是通过name;三是xpath

例:switch_to_frame(id) ; 或是 switch_to_frame(name);若frame没有id和name,只能是通过xpath方式定位到frame,switch_to_frame(xpath)

代码如下:

复制代码
1 from selenium import webdriver
2 import time
3
4 url = ‘http://www.126.com
5 driver = webdriver.Firefox()
6 driver.get(url)
7 driver.switch_to.frame(“x-URS-iframe”) #进入到表单中
8 time.sleep(5)
9 #使用Xpath定位
10 driver.find_element_by_xpath(’/html/body/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/input’).send_keys(‘11111’)
复制代码
以上可以解决Firefox的问题,但是在Chrome上却找不到frame

Chrome解决办法:

driver.switch_to.frame(“x-URS-iframe”)这个括号内可以写入frame的序号,如有多个frame,最外层的为0,里面为1,以此类推。
所以 driver.switch_to.frame(0),这样就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值