2013-10-14 42 views
0

在這裏工作的情況是:硒的webdriver - (Java) - 用HTML對話框

  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> 

回答

-1

嘗試這種情況:

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

雖然此代碼段可以解決的問題,[包括一個解釋](http://meta.stackexchange.com/questions/114762/explaining-完全基於代碼的答案)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – gunr2171

-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 
+0

關心添加一個解釋? –