selenium,webdriver实例获取到的HTML和页面显示内容不符怎么办?

作者在开发自动出表小程序时遇到Selenium无法获取输入框的问题,发现原因是网页中有两个ID和name都为iframe1的iframe,一个默认生成,一个动态生成。解决方法是使用switch_to.frame的顺序参数,通过索引1成功切换到正确iframe。
部署运行你感兴趣的模型镜像

这两天在写自动出表小程序,使用的python+selenium,遇到了问题。

明明那个查询框(input)就在那,但selenium就是获取不到!

努力了两天,过程略过,终于找到原因啦。

这个网站的主体内容会放在iframe里,这个iframe的name是空的,id是“iframe1”。

我使用switch_to.frame(id)跳转来解决。

但网站实际上,一开始就有一个默认的iframe,id是“iframe1”,name是空的。

需要数据时,才临时生成一个iframe,id也是“iframe1”,name也是空的。

也就是说,网页里实际有两个iframe,id都是“iframe1”,name都是空的。

因为默认的iframe生成的早,所以它排前面。我使用switch_to.frame(id)跳转,一定会跳到第一个iframe里,从而像个没头的苍蝇,找不到出路。

解决办法是,switch_to.frame除了id和name,还支持按顺序跳转,比如我这种情况,使用switch_to.frame(1),即可跳到正确的iframe里。

撒花庆祝:-)。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值