当遇到嵌套页面时,如何定位frame,iframe.此时通过switch_to.frame方法,切回
主页面时,使用switch_to.parent_frame方法
使用的iframe.html页面放在E:\demo\iframe目录下,源代码如下:
<html>
<body>
<div class="alert" align="center">The link
<a class="alert-link" href="http://www.baidu.com">
baidu
</a>
</div>
<div class="row-fluid">
<div class="span-ifrme" align="center">
<h4 align="center">iframe</h4>>
<iframe id="iname" name="nf" src="http://cn.bing.com" width="800" height="600"></iframe>>
</div>
</div>
</body>
</html>
对应的selenium页面定位元素代码如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("file:///E:/demo/iframe.html")
#切换到iframe页面
driver.switch_to.frame(driver.find_element_by_id("iname"))
driver.find_element_by_id("sb_form_q").send_keys("python")
driver.find_element_by_id("sb_form_go").submit()
#重新切换到主页面
driver.switch_to.parent_frame()
driver.find_element_by_partial_link_text("bai").click()
sleep(1)
driver.quit()