0

screenshot這種情況是,我試圖將sendkeys引入模態對話框,但webdriver無法將焦點切換到對話框。我已經試過各種等待條件和切換條件沒有被成功Selenium WebDriver - 無法將焦點切換到模態對話框窗口

下面是HTML代碼

  <div class="row"> 
       <ul class="nav nav-tabs"> 
        <li role="presentation" class="active"><a data-toggle="tab" href="#ModalAddCampaignsSearchTab">Search</a></li> 
        <li role="presentation"><a data-toggle="tab" href="#ModalAddCampaignsToAddTab">New ({{DealerFactory.Campaign.NumberOfCampaignsToAdd()}})</a></li> 
       </ul> 
       <div class="tab-content"> 
        <div id="ModalAddCampaignsSearchTab" class="tab-pane fade in active"> 
         <br/> 
         <div class="col-lg-12"> 
          <label for="Select_A_Campaign">Select A Campaign</label> 
          <div class="form-group"> 
           <div class="input-group"> 
            <div class="input-group-addon"> 
             <i class="fa fa-search" id="icoSearch"></i> 
             <i class="fa fa-spinner fa-pulse" id="icoSearching" style="display: none;"></i> 
            </div> 
            <input class="form-control" id="txtCampaignSearch" name="txtCampaignSearch" ng-change="findDealersToAdd()" ng-model="DealerFactory.Campaign.searchCampaigns.searchTerm" placeholder="Search" type="text" value="" /> 
           </div> 
          </div> 

          <div id="divCampaignSearchModalResults" class="well" ng-show="DealerFactory.Campaign.searchCampaigns.campaigns.length>0" > 
           <div class="row"> 
            <div class="col-lg-12 text-right"> 
             <p> 
              Campaigns: {{DealerFactory.Campaign.searchCampaigns.campaigns.length}} 
             </p> 
            </div> 
           </div> 
           <div class="row"> 
            <div class="col-lg-12"> 

任何幫助/更正/建議非常感謝

我努力的目標元素是ID = 'txtCampaignSearch'

我使用的Visual Studio(IDE)& webdriver的

+0

你可以添加如何模態窗口看起來的屏幕截圖?當你試圖識別時,拋出的異常是什麼? –

+0

它返回無法找到元素錯誤,請查找附加屏幕截圖 –

+0

您可以檢查compaignSearch元素是否是iFrame標記的子元素嗎? –

回答

0

Bootstrap is creating the modal with javascript and css,它也沒有創造a new window that you would have to switch between,因爲你的問題暗示。

真正的問題是使用「input-group-addon」阻止WebDriver訪問輸入字段出於某種原因,也遇到了一個問題。

等待模式動畫完成是您在清除密鑰並將密鑰發送到txtCampaignSearch之前所必須執行的操作。

我有一個與input-group-addon類似的問題,並解決了它using javascript。試試這樣的:

JavascriptExecutor js = (JavascriptExecutor)driver; 
// later on... 
js.executeScript("document.getElementById('txtCampaignSearch').value = 'something';"); 
+0

感謝Tylerockss的迴應。不幸的是,這並沒有工作或從附加的截圖可以看出,webdriver鍵入到不正確的字段,因爲這兩個字段共享相同的id(id = txtCampaignSearch),但我希望我的sendkeys輸入文本到選擇一個活動字段 –

+0

請查找截圖點擊以下鏈接 http://imgur.com/a/OlWTe –

相關問題