使用Python / Selenium切换iframe

时间:2015-05-26 18:46:03

标签: python selenium selenium-webdriver

我正在尝试使用selenium导航使用框架的网站。

这是我第1部分的工作python脚本:

from selenium import webdriver
import time
from urllib import request

driver = webdriver.Firefox()
driver.get('http://www.lgs-hosted.com/rmtelldck.html')

driver.switch_to.frame('menu')

driver.execute_script('xSubmit()')

time.sleep(.5)

link = driver.find_element_by_id('ml1T2')
link.click()

这是页面元素:

<html webdriver="true">
    <head></head>
    <frameset id="menuframe" name="menuframe" border="0" frameborder="0" cols="170,*">
        <frameset border="0" frameborder="0" rows="0,*">
            <frame scrolling="AUTO" noresize="" frameborder="NO" src="heart.html" name="heart"></frame>
            <frame scrolling="AUTO" noresize="" frameborder="NO" src="rmtelldcklogin.html" name="menu"></frame>
        </frameset>
        <frame scrolling="AUTO" noresize="" frameborder="NO" src="rmtelldcklogo.html" name="update"></frame>
    </frameset>
</html>

我的问题是切换帧...在菜单中&#39;我需要进入&#39;更新&#39;:

driver.switch_to.frame('update')

^不起作用....错误告诉我它不存在,即使我们可以清楚地看到它是......任何想法?

如何从menu切换到update

1 个答案:

答案 0 :(得分:4)

在切换到不同的框架之前,您需要切换回默认内容

driver.switch_to.default_content()
driver.switch_to.frame("update")

# to prove it is working
title = driver.find_element_by_id("L_DOCTITLE").text
print(title)

打印:

Civil Case Inquiry