python自动化测试selenium定位frame及iframe示例

frame标签有frameset、frame、iframe三种,frameset和其它普通标签没有区别,不会影响正常定位,而frame与iframe对selenium定位而言是一样的。

Selenium有以下方法对frame进行操作。

python自动化测试selenium定位frame及iframe示例_第1张图片

示例网站:http://sahitest.com/demo/framesTest.htm

python自动化测试selenium定位frame及iframe示例_第2张图片

示例脚本:

from selenium import webdriver
from time import sleep 
class TestFrame(object):
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://sahitest.com/demo/framesTest.htm")
    def test_frame(self):
        top = self.driver.find_element_by_name("top")
        # 切换到上面的frame
        self.driver.switch_to.frame(top)
        #点击上面frame中的Link Test链接,打开新页面
        self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[1]/a[1]").click()
        #切换到主页面
        self.driver.switch_to.default_content()
        sleep(3) 
        # 切换到下面的frame
        second = self.driver.find_element_by_xpath("/html/frameset/frame[2]")
        self.driver.switch_to.frame(second)
        # 点击下面frame中的Form Test链接,打开新页面
        self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[1]/a[2]").click()
        sleep(2) 
        self.driver.quit() 
if __name__ == '__main__':
    frame = TestFrame()
    frame.test_frame()

以上来自:极客时间课程:selenium自动化测试课程学习总结。

以上就是python自动化测试selenium定位frame及iframe示例的详细内容,更多关于selenium定位frame及iframe的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(python自动化测试selenium定位frame及iframe示例)