【问题标题】:Selenium Webdriver - (Java) - working with HTML dialogsSelenium Webdriver - (Java) - 使用 HTML 对话框
【发布时间】:2013-10-14 06:53:32
【问题描述】:

情况如下:

  1. 单击Import file 按钮(此操作将上传文件)。
  2. 文件上传后,会出现一个弹出窗口(HTML 弹出窗口)。我使用driver.switchTo().frame(1); 切换到该弹出窗口,然后在该弹出窗口中单击“下一步”。
  3. 单击Next 会将用户导航到该弹出窗口中的第二步。在弹出窗口的第二步中单击process commission 按钮。
  4. 点击process commission按钮后,会出现一个新的确认弹窗(HTML弹窗)。
  5. 我无法在该确认弹出窗口中单击yes

我尝试使用:
driver.switchTo().frame(0); - 不起作用
driver.switchTo().frame(1); - 不起作用
driver.switchTo().frame(2); - 不起作用

请提出任何解决方案。

<form id="Form1" enctype="multipart/form-data" action="ProcessCommission.aspx?i=2115&pn=Manage+Commission&j=2345&prn=Process+Commission" method="post">
<iframe scrolling="no" frameborder="0" src="javascript:'<html></html>';" style="position: fixed; width: 400px; height: 100px; left: 431px; top: 53px; background-color: rgb(255, 255, 255); z-index: 3003;" tabindex="-1">  
<div id="RadWindowWrapper_confirm1381733327500" class="RadWindow RadWindow_Windows7 rwNormalWindow rwTransparentWindow" style="width: 400px; height: 100px; position: absolute; transform: none; backface-visibility: visible; visibility: visible; left: 431px; top: 377px; z-index: 3003;" unselectable="on">  
<table class="rwTable" cellspacing="0" cellpadding="0" style="height: 51px;">  
<tbody>  
<tr class="rwTitleRow">  
<tr class="rwContentRow">  
<td class="rwCorner rwBodyLeft"> </td>
<td class="rwWindowContent" valign="top">  
<iframe frameborder="0" name="confirm1381733327500" src="javascript:'<html></html>';" style="width: 100%; height: 100%; border: 0px none; display: none;" tabindex="0">  
<div id="confirm1381733327500_content">  
<div class="rwDialogPopup">  
<div class="rwDialogText">  
<div>
<a class="rwPopupButton" href="javascript:void(0); "onclick="$find('confirm1381733327500').close(true);" tabindex="-1">
<span class="rwOuterSpan">  
<span class="rwInnerSpan">Yes</span>  
</span>
</a>  
<a class="rwPopupButton" href="javascript:void(0);" onclick="$find('confirm1381733327500').close(false);" tabindex="-1">  
<span class="rwOuterSpan">  
<span class="rwInnerSpan">No</span>  
</span>

【问题讨论】:

    标签: java dialog popup selenium-webdriver


    【解决方案1】:
    dr.SwitchTo().Frame(dr.FindElement(By.TagName("iframe")));
    dr.SwitchTo().DefaultContent();
    dr.FindElement(By.XPath("your stuff goes here").Click();
    dr.SwitchTo().DefaultContent();//switch back to default content of original page
    

    【讨论】:

    • 想添加解释吗?
    【解决方案2】:

    试试这个:

    driver.switchto.frame(0)
    driver.switchto.frame(confirm1381733327500)
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    猜你喜欢
    • 2018-07-08
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多