python用selenium网页模拟时无法定位元素解决方法1

进行网页模拟时,有时我们明明可以复制出元素的xpath,但是用selenium的xpath click无法点击到元素。这种情况有几种原因,本文写其中一种------iframe

比如下图网址,第二行出现iframe,则往下的行内元素都会定位不到,这时我们需要转入iframe模式

代码如下,需要用到switch_to.frame(),其中()内是指全网页中第几个iframe标签,第一个是0,大家都懂的。此处建议网页源码内搜索<iframe,带一个<号,搜索的更准确。

完成后switch_to.default_content() 退出iframe编辑,()内不用填。

python 复制代码
from selenium.webdriver import Chrome
web = Chrome()

#进入iframe编辑
web.switch_to.frame(2) #第3个iframe标签
time.sleep(1)
#定位到元素
web.find_element(By.XPATH,'//*[@id="root"]/div/div[1]/div[2]/div[1]').click() #点击元素
web.switch_to.default_content()#退出iframe
相关推荐
presenttttt3 分钟前
用Python和OpenCV从零搭建一个完整的双目视觉系统(四)
开发语言·python·opencv·计算机视觉
每日出拳老爷子9 分钟前
[C#] 使用TextBox换行失败的原因与解决方案:换用RichTextBox的实战经验
开发语言·c#
半桔13 分钟前
【Linux手册】从接口到管理:Linux文件系统的核心操作指南
android·java·linux·开发语言·面试·系统架构
nightunderblackcat21 分钟前
新手向:实现ATM模拟系统
java·开发语言·spring boot·spring cloud·tomcat·maven·intellij-idea
开开心心就好24 分钟前
电脑息屏工具,一键黑屏超方便
开发语言·javascript·电脑·scala·erlang·perl
笑衬人心。31 分钟前
Java 17 新特性笔记
java·开发语言·笔记
序属秋秋秋1 小时前
《C++初阶之内存管理》【内存分布 + operator new/delete + 定位new】
开发语言·c++·笔记·学习
木头左2 小时前
逻辑回归的Python实现与优化
python·算法·逻辑回归
ruan1145142 小时前
MySQL4种隔离级别
java·开发语言·mysql
quant_19864 小时前
R语言如何接入实时行情接口
开发语言·经验分享·笔记·python·websocket·金融·r语言