首页 > 解决方案 > 在 python 中使用 selenium 处理不可见元素/弹出窗口

问题描述

有没有办法使用 python 与 selenium 中的不可见弹出窗口/元素进行交互?

我所说的不可见或隐藏,并不是指具有隐藏属性的元素,也不是说这些元素对用户不可见。

这些不可见元素是那些未出现在检查元素部分中的元素

例如:在 webapp 屏幕上,右键单击会打开一个小选项窗口,其中包含与该 webapp 相关的不同选项,而不是传统的浏览器右键单击选项弹出窗口

默认情况下,此选项弹出窗口不会出现在检查元素中,并且仅当用户右键单击屏幕的某个部分时才会出现,此选项弹出窗口的内容会根据执行右键单击的屏幕设置而有所不同,并且一旦在任何地方再次单击它就会消失,即使我单击检查元素部分,选项弹出窗口也会消失。

有没有办法处理这种弹出窗口?

编辑1:当我在选择检查元素选项时右键单击屏幕时,与右键单击弹出窗口相关的内容会出现在检查元素窗口中,但是一旦我单击它查看元素ID,它就会从检查中消失元素窗口

在此处输入图像描述

标签: pythonseleniumselenium-webdriver

解决方案


要搜索此类动态元素的 xpath,请使用 DOM 断点:

在此处输入图像描述

并在子树修改时选择中断。现在所有更改都将中断并暂停网页渲染

在此处输入图像描述

单击恢复执行或按 f8 直到显示弹出窗口


推荐阅读