首页 > 解决方案 > Selenium WebDriverWait 不断抛出 TimeoutException

问题描述

我正在使用 Selenium 登录如下:

driver.switch_to.default_content()
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,'email'))).send_keys("myemail@gmail.com")

但我不断收到错误消息:

TimeoutException: Message:

我也试过:

WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@id='email']"))).send_keys("myemail@gmail.com")

这是我正在访问的源 HTML 代码:

<div id="signup-form">
    <div class="logo"></div>
    <h1 data-i18n="signin">Sign in</h1>
    <div class="panels-wrapper">
        <div class="panels">
            <div class="panel step-1">
                <input name="email" type="text" id="email" required="" maxlength="100">
                <label for="email" data-i18n="email">Email</label>

感谢任何解决此问题的指导。

标签: seleniumselenium-webdriveriframewebdriverwaittimeoutexception

解决方案


电子邮件不是框架。您使用的条件用于框架( iframe 标签),但在这里您正在处理输入标签。因此,我建议您根据您的要求检查该元素的可见性或该元素的存在。


推荐阅读