如何使用带Python的selenium库在帧之间切换?

2024-05-06 14:55:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将框架“顶部”切换到“主体”。我尝试了不同的方法,但我做不到。来源太多,但其中任何一个都不起作用。有什么问题吗HTML结构位于链接中。页面是“jsp”

# 1 
driver.switch_to_frame("body")

# 2
wait.until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"/html/frameset/frame[3]")))

也许问题在于能见度


Tags: to方法框架链接htmldriver来源body
2条回答

如前所述,您试图直接从一个帧切换到另一个帧,而这两个帧在DOM中处于同一级别,类似于:

<iframe name="top"></iframe>
<iframe name="body"></iframe>

在切换到另一帧之前,需要使用以下命令切换到defaultContent

driver.switch_to.default_content()

然后尝试切换到帧body

driver.switch_to_frame("body")

我们不能直接从一个帧切换到另一个帧,除非目标帧位于当前帧内

Ex:

<iframe name="top">
    <iframe name="body"></iframe>
</iframe>

然后,我们可以使用:

driver.switch_to_frame("top")
driver.switch_to_frame("body")

从框架“顶部”切换到默认内容,然后切换到“主体”

driver.switch_to_default_content()

相关问题 更多 >