selenium处理shadow元素
ShadowRoot 是 Shadow DOM 下面的根,跟其他元素是隔离的,即使我们选择copy selector/xpath 依然是定位不到的,如下图
要定位此类元素需要先定位到它的根shadowRoot,然后再定位下面的元素
document.querySelector('#userMenu').shadowRoot.querySelector('div')
然后再用selenium的driver去执行js语句
String js1 = "document.querySelector('#userMenu').shadowRoot.querySelector('div')";
JavascriptExecutor driver1 = (JavascriptExecutor) driver;
WebElement element = (WebElement)driver1.executeScript(js1);
接下来就可以对元素进行操作了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗