Selenium WebDriver- 操作 IFrame 中的页面元素

#encoding=utf-8
import unittest
import time
from selenium import webdriver
from selenium.webdriver import ActionChains

class VisitSogouByIE(unittest.TestCase):

    def setUp(self):
        #启动IE浏览器
        #self.driver = webdriver.Firefox(executable_path = "e:\geckodriver")
        self.driver = webdriver.Ie(executable_path = "e:\IEDriverServer")
        
    def test_HandleIFrame(self):
        url = "http://127.0.0.1/frameset.html"
        # 访问自动以测试网页
        self.driver.get(url)
        # 改变操作区域,切换进入页面上第一个frame,也就是左边的frame
        self.driver.switch_to.frame(0)
        # 断言页面是否存在“这是左侧 frame 页面上的文字”关键字串,
        # 以判断是否成功切换进frame页面
        assert u"这是左侧 frame 页面上的文字" in self.driver.page_source
        
        # 改变操作区域,切换进入id为“showIfame”的iframe页面
        self.driver.switch_to.frame(self.driver.find_element_by_xpath("//iframe"))
        # 断言页面是否存在“这是iframe页面上的文字”这样的关键字串,
        # 以便判断是否成功切换进iframe页面
        assert u"这是iframe页面上的文字" in self.driver.page_source
    
        # 将操作区域切换到frameset页面,以便能成功进入其他frame
        self.driver.switch_to.default_content()
        # 断言页面的title值是否为“frameset 页面”
        assert u"frameset 页面" == self.driver.title
   
    def tearDown(self):
        # 退出IE浏览器
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

原文地址:https://www.cnblogs.com/qingqing-919/p/8709689.html