在定位的时候发现有些元素定位不到,最后发现有iframe。
如果ifame 有name或id的话,直接使用switch_to_frame("name值")或switch_to_frame("id值"),这是最理想的方法,也是最简单好用的方法。
因为switch_to_frame()只能使用name和id,如果没有name或id应该怎么处理呢?
- <div style="position:;">
- <iframe width="100%" height="100%" frameborder="0" src="/MyAffairs/">
- <html class="panel-fit">
- <head>
- <body class="panel-noscroll" style="margin: 1px">
- </div>
此时可以使用xpath先对iframe进行定位:iframe = find_element_by_xpath("//div/iframe")
然后再使用switch_to_frame()函数:switch_to_frame(iframe)
就是这简单的两步,问题解决!
问题又来了,iframe我们进来了,那么该怎么出去呢,出不去就没法操作其他元素。
那就该使用:driver.switch_to_default_content(),返回到主content,也就是主界面中