Python Selenium访问多级HTML

时间:2016-10-28 10:59:02

标签: python selenium selenium-webdriver

如何使用python selenium模块访问多级html文件。示例html文件是:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
    <head>
        <body style="background: rgb(26, 26, 26)" class="remodal_lock remodal_active">
        <iframe id="ifrBmAuthApi" class="black-bg">
            <!DOCTYPE html>
            <html>
                <head>
                </head>
                <body>  
                <div class="ascendon">
                    <div id="accountManagementDiv" class="container-fluid">
                        <form id="SAMLPOST" method="POST">
                            <div class="validation-summary" cdvalidate="Email"></div>
                            <input id="Email-input" class="form-control stacked-input err" data-prop="Email" maxlength="50" required="" placeholder="Email" type="email">
                            </div>
                        </form>
                    </div>
                </div>
            </body>
        </html>
    </iframe>   
    </body>
</head>

我想访问内部html文件ID:&#34;电子邮件输入&#34;

我尝试了以下方案来直接访问id =&#34; Email-input&#34;和class =&#34; form-control stacked-input err&#34;失败了。

e.g。 :&gt;&gt;&gt; print driver.find_element_by_id(&#34; Email-input&#34;)。is_displayed()

1 个答案:

答案 0 :(得分:2)

我使用switch_to.frame(帧的id)

解决了它
browser.switch_to.frame("ifrBmAuthApi")

浏览器是Webdriver的变量