selenium之frame的切入和切出

首选用到的测试链接:链接: http://sahitest.com/demo/framesTest.htm.

源码:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title></title>
</head>
<frameset rows="*,*">
<frame name="top" src="index.htm">  
<frame src="index.htm">
</frameset>
</html>

有多个frame标签时要先切到第一个frame标签中然后再去定位,以及切出的操作


代码操作如下:

from selenium import webdriver
from time import sleep


#测试链接用:http://sahitest.com/demo/framesTest.htm
class TestCase(object):
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.get('http://sahitest.com/demo/framesTest.htm')
        self.driver.maximize_window()

    def test_frame(self):
        #多个frame标签 所以先切到frame标签中再继续下面的定位
        top=self.driver.find_element_by_name('top')
        self.driver.switch_to.frame(top)
        self.driver.find_element_by_xpath('/html/body/table/tbody/tr/td[1]/a[1]').click()
        sleep(3)

        # 切出frame 然后定位第二个frame
        self.driver.switch_to.default_content()
        #定位到第二个frame标签
        second=self.driver.find_element_by_xpath('/html/frameset/frame[2]')
        self.driver.switch_to.frame(second)
        #点击第二个frame标签下的内容
        self.driver.find_element_by_xpath('/html/body/table/tbody/tr/td[1]/a[1]').click()
        sleep(3)
        self.driver.quit()

if __name__ == '__main__':
    case=TestCase()
    case.test_frame()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值