python3自动化实践17之表单切换

时间:2021-05-09 08:47:50

当遇到嵌套页面时,如何定位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()