python+selenium初级(6)—通过切换iframe定位元素

来源:互联网 发布:电脑软件编程学习 编辑:程序博客网 时间:2024/05/17 03:17

1.frame和iframe的区别:

frame是整个页面的框架,iframe是内嵌的框架

Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入 的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame>< /Frame>所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内 容的代码

2.使用id,name定位

#coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get('http://mail.163.com')driver.switch_to.frame('x-URS-iframe')driver.find_element_by_id('auto-id-1513149691275').send_keys('18707718538')driver.find_element_by_id('auto-id-1513149691276').send_keys('111111')
注意:selenium自动声称的switch_to_frame被划线,可以改为switch_to.frame
3.如果iframe没有id或name怎么定位?

这位元素的方法有八种,我们可以使用xpath或者tag定位

4.释放iframe

当在iframe上操作完毕,想回到首页上继续操作,就必须先释放iframe在操作

#coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get('http://mail.163.com')driver.switch_to.frame('x-URS-iframe')driver.find_element_by_id('auto-id-1513149691275').send_keys('18707718538')driver.find_element_by_id('auto-id-1513149691276').send_keys('111111')#释放iframedriver.switch_to_default.content()

5.如何确定页面上元素是否在iframe框架中

1.定位到元素后,切换到firepath界面

2.看firebug工具左上角,如果显示Top Window说明没有iframe

3.如果显示iframe#xxx这样的,说明在iframe上,#后面就是它的id

4.也可以查看源代码,看是否目标元素在iframe框架中



阅读全文
0 0
原创粉丝点击