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 –

相关问题