如何使用带 Python 的 selenium 库在帧之间切换?
How to switch between frames using selenium library with Python?
我正在尝试将框架“顶部”切换为“主体”。我尝试了不同的方法,但我做不到。来源太多,但其中任何一个都不起作用。它有什么问题? HTML 结构在 link 中。页面是“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]")))
也许问题是能见度?
从框架“顶部”切换到默认内容,然后切换到“主体”。
driver.switch_to_default_content()
如问题所述,您尝试直接从一帧切换到另一帧,这在 DOM 中处于同一级别,例如:
<iframe name="top"></iframe>
<iframe name="body"></iframe>
您需要先切换到 defaultContent
,然后再使用以下方法切换到另一个框架:
driver.switch_to.default_content()
然后尝试切换到框架body
driver.switch_to_frame("body")
我们不能直接从一帧切换到另一帧,除非目标帧位于当前帧内。
例如:
<iframe name="top">
<iframe name="body"></iframe>
</iframe>
那么,我们可以使用:
driver.switch_to_frame("top")
driver.switch_to_frame("body")
我正在尝试将框架“顶部”切换为“主体”。我尝试了不同的方法,但我做不到。来源太多,但其中任何一个都不起作用。它有什么问题? HTML 结构在 link 中。页面是“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]")))
也许问题是能见度?
从框架“顶部”切换到默认内容,然后切换到“主体”。
driver.switch_to_default_content()
如问题所述,您尝试直接从一帧切换到另一帧,这在 DOM 中处于同一级别,例如:
<iframe name="top"></iframe>
<iframe name="body"></iframe>
您需要先切换到 defaultContent
,然后再使用以下方法切换到另一个框架:
driver.switch_to.default_content()
然后尝试切换到框架body
driver.switch_to_frame("body")
我们不能直接从一帧切换到另一帧,除非目标帧位于当前帧内。
例如:
<iframe name="top">
<iframe name="body"></iframe>
</iframe>
那么,我们可以使用:
driver.switch_to_frame("top")
driver.switch_to_frame("body")