演示代码
<html>
<head>
<frameset>
<frame name="topFrame"></topFrame>
<frameset>
<frame name="leftFrame"></frame>
<frame name="mainFrame">
<html>
<head></head>
<body>
<iframe id=demo>
<html>...</html>
</iframe>
</body>
</html>
</frame>
<frame name="bottomFrame"></frame>
</frameset>
</frameset>
</head>
</html>
先说结论
1 - frameset不用切, frame(iframe)需要层层切
2 - 兄弟frame, 需要先切到父frame才能切进兄弟frame
3 - frame需要足够的时间加载, 等待加载的时间不能过短
定位iframe
# 先切会默认节点
browser.switch_to.default_content()
# 切进第1层frame
mainFrame = browser.find_element_by_xpath('''/html/frameset/frameset/frame[2]''')
browser.switch_to.frame(mainFrame)
time.sleep(2)
# 切进第2层frame
sub_frame = browser.find_element_by_tag_name("iframe")
browser.switch_to.frame(sub_frame)
time.sleep(2)
网友评论