簡體   English   中英

在彈出窗口中找不到元素

[英]Element On Pop-Up Window Not Found

我似乎在mediafire上找不到登錄掩碼的元素。 使用以下代碼等待元素可見

public WebElement waitForElement(By identifier)
{
    return new WebDriverWait(driver, 10).until(ExpectedConditions
            .visibilityOfElementLocated(identifier));
}

即使該元素在大約1秒后仍存在,也會超時。

我嘗試使用By.xPath("//*[@id=\\"widget_login_email\\"]")By.cssSelector("#widget_login_email")來查找電子郵件字段,但By.cssSelector("#widget_login_email")

driver.getWindowHandles().size()返回1因此沒有其他窗口需要切換。

這是html:

<form id="form_login1" method="post" action="/dynamic/client_login/mediafire.php" target="widgetwork"> <label class="ieLabel">Email address</label> <input type="email" pattern="^(.)+@[A-Za-z0-9]([A-Za-z0-9\.-]*[A-Za-z0-9])?\.[A-Za-z]{1,13}$" name="login_email" id="widget_login_email" placeholder="Email address"> <label class="ieLabel">Password</label> <input type="password" name="login_pass" id="widget_login_pass" placeholder="Password" maxlength="30"> <div id="login_remember_wrap"><input type="checkbox" name="login_remember" id="login_remember" checked="checked"><label for="login_remember">Keep me logged in</label></div> <a class="forgotPassword" href="/lost_password.php" target="_blank">Forgot password?</a> <button type="submit" class="gbtnTertiary" onclick="">Log in</button> </form>

請幫助我使用WebDriver查找那些元素。

注意:我正在使用SeleniumChromeDriver

我認為問題是您收到了NoSuchElementException

問題的原因是該元素包含在iframe 具體來說,這一個:

<iframe name="modal_msg_iframe" id="modal_msg_iframe" src="/templates/login_signup/login_signup.php?dc=loginPath&amp;_svefr=2390" scrolling="no" frameborder="0" allowtransparency="true" style="width: 686px; height: 600px;"></iframe>

您需要先切換到該iframe然后才能訪問該元素。

driver.switchTo().frame("modal_msg_iframe");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM